DO NOT MERGE: Hale serializer meeting Crichton functionality

This is an early commit for the new Hale serializer.  Released for comment.  It's here for feedback, but I am well aware that it needs substantial code cleanup.
I'm not sure I understand.  They exist to help get_filed_by_type which in turn is used by the attributes and parameters methods.