Feature/round trip

First roundtrip spec. It reads a hale document, deserializes it, serializes it and compare the outcomes.
Note that this is a very minimal document. More specs are needed.
to me as_media_type should be private. What is the point of being able to get to the internal intermediate representation of the serializer? it is a hash now for hale, if we ever decide this is not the result of apply_serialization then we can not change it because is public and someone may be depending on it?