Filtration of types by role will now return None if the contents of the type are wiped out.
First implementation of `apply_shape` is now complete.  This implementation is similar to the one that existed in a former version of Schematics.  The idea is to allow many kinds of serializations to be performed by parameterizing a single loop, which is implemented as `apply_shape`.

The `serialize` function has been converted.  The flatten function will probably come next.
Definition of Model.iter() now uses serialize.atoms function
Slight adjustment to behavior of apply_shape to prepare for upcoming changes
Renamed iter() to atoms() and implemented iter() in a way consistent with python dicts