Add the Coveralls gems for test coverage checking from Travis
Improve the HAL serializer, make CollectionResource more like Resource

HAL has no way of rendering a collection at the top level, you need to have
some singular "collection" entity, with embedded resources.

This commit makes a CollectionResource quack like a Resource and vice versa,
so serializers can choose if they want to treat something as if it's a
collection (iterating over the one item in a singular resource), or treat
everything singular with (plural) subresources, in which case a collection
has a single subresource set.

This commit also introduces a bit of setup for easier testing of the
Resource-to-serialization mapping.