Implement map type
Capitalize type names
Add OrderedMap type
Implement Struct serializer as OrderedMap
OrderedMap serializer is a special Struct
Rename all schema parameters to "param"
Serializer store only the schema of its param
Tweaks
Move param schemas into type map
Rename serialize and deserialize methods
Don't instantiate serializers for simple types

Use static methods. I originally didn't want to do this because I though
it would be consistent to always have class instances act as
serializers, but then I decided that the difference between a serializer
with a parameter (one that needs to be instantiated) and a serializer
without a parameter is explicit and should be explicitly visible.

This change should also allow me to use class names as models and
abolish the S object from cosmic.
Clean up instantiations
Clean up instantiations in tests
OrderedMap create OrderedDict instance
Simplify Struct constructor
Implement ParametrizedWrapper and BasicWrapper
100% test coverage
Bring most docs up to date
Grab type_name from sserializer class
Better Custom Types docs