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


I think it would be better to have the logic moved into private methods, so that the public methods express interfaces instead of logic.