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


Agree.  I'm not sure there is a good solution, but target looks meaningless in the places it exists.  For now...
Just add a comment about what 'target' means in hal_deserializer (or whereever else it shows up) so that a future developer doesn't WTF