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.
using that method you'd have this situation:
```
ce = converters.get_converter_element(1, 'str')  # give me something that'll turn a 1 into a string
print ce(1)  # prints 1
print ce(2)  # also prints 1
```

whereas my memo decorator does the right thing.