add the ability for modules to be used as value/overlay sources

this PR enables modules (specified in qualified form:  "package1.package2.module", or as instances of types.TypeModule).   

This also gives configman the ability to write modules with "--admin.print_conf=py"  


no, it doesn't.  The  "mapping_class" object hook is for the end user to get their own Mapping class as a configuration object.  The "value_source_object_hook" is a more subtle way to post process a value/overlay source to make it compatible with a divergent namespace (as we'll be doing for crontabber's  "class-hyphen-problem").

I'm using the DotDict as convenient way to get dotted namespace-like notation into the source of the generated python file.  When configman later loads this generated module, it will automatically translate all the symbols into whatever "value_source_object_hook" the user specified, or to a DotDict.  Since I'm already using DotDict within the module, most of configman's translation work is already done...