cleanup Config attributes

fixes pickling on Python 3

- don't override get/setattr on dunder names
- fix branching bug in __setitem__
- remove setting `__dict__` attribute
- make _is_section_key a function, not a method
update builtin test - we don't exec in config objects