My name was listed twice.
Adjusted `apply_shape` so that the role argument is now optional everywhere.
Removed unnecessary argument `shape_converter` from `apply_shape` loop.  Logic is cleaner now.
Adjusted functions in `schematics.serialize` to work on classes instead of instances.
Added comments and am starting the process of cleaning up the code.  No logical changes.
Adjusting the arrangement of functions
Moved all functions over to operating on classes.  I also wrote docstrings for the functions that did not already have them.
Wrote more documentation.  w00t!
Added comments and renamed some things to be more clear in code. No logical changes.
Changed an argument in FieldDescriptor.__get__ to not be a keyword, since it is required.
Wrote comments / docs for serialize module.
Removed erroneous text