Deserializer utilizes passed in target

Refactored deserializer to utilize similar interface as serializer
Restored two phase functionality to serializer
Removed doubles and replaced with actual Serializers (see spec_helper)
This seems strange. Shouldn't to_hash return a hash the same as to_h?