refactor converters

In preparation for adding new definition and value sources (argparse, python modules, ...) I've refactored the converters.  They're now sorted into to types: to string and from string.  Both types now have dispatch functions that will relieve clients of this module from having to find the appropriate converter manually.
there are two reasons for the whole "*key" system.  

Several of the upcoming for_* module need to use different from_string and to_string converters.  We currently assign converters directly to Options.  I need a system to override those converters.  For example, converting a datetime to a string for an ini file is very different from converting to a string for a python module.  The ini needs "YYYY-MM-DDTHH:MM:SS" while the python module needs "datetime.datetime(year=YYYY, month=MM, day=DD, ...)"  Using a key instead of the function means that I can have different key resolve to different function depending on the context.  ```configman.converters``` defines default converters.  The upcoming "for_modules" defines some of its own.  In the default converter 'socorro.datetime_util.datetime_to_ISO_string' will return a function by the same name.  In the "for_modules" module, that resolves to a local function called "datetime_to_string".

Rather than using generic names as keys, I chose to use the output of the converter's own ```to_str``` method.  That gives several advantages: 1) human readable  2) stays completely compatible will all existing configman code  3) requires no thought on what an appropriate name would be.

finally, using the function itself as the lookup key fails because it's not universal.  In the "for_modules" module I would have import a function that I'm not going to invoke in order to get the function that do need to invoke.  This gets even more complicated with lambdas and partials.  I'd rather lookup by a name instead.  

Honestly, it's the age old "there is no problem that cannot be resolved with another layer of indirection"