Feature/clean up deserialization

@sheavalentine-mdsol @jcarres-mdsol @mdsol/hypermedia-team Please review and merge.

This PR:
* Symmetrized Serializer and Deserializer base functionality
* Symmetrized Factory specs
* Misc cleanup of file locations
* Consolidated errors in one file


Well, do you prefer object? All both serializers and deserializers take an object. Does not make sense to me to have every subclass create their own constructor when we can track this as the interface to the object to be serialized/deserialized.