Improved functionality and interfaces for configs.
1. Writing:
a. Recursive writing for nested configs (nicer formatting).
b. Handle non-builtin types when writing configs by providing appropriate import statements in the written config, including container entries.
c. `attr_imports`, `class_imports`, `attr_reprs`, `class_reprs` options to provide alternative imports or `repr` functions for specific attributes or classes.
d. `strict` option to prevent writing configs with objects whose `repr` outputs don't reproduce their original values.
2. Config-only arguments:
a. New interface `add_config_argument()`, `remove_config_argument()`. (Example 3 updated to use the new interface.)
b. `add_config_argument()` allows specifying relevant properties in a similar way to `argparse.ArgumentParser.add_argument()`.
c. Old interface `add_config_only()`, `remove_config_only()` marked as deprecated and will be removed in 3.0.0.
Also, `magiconfig.__version__` is now provided.