#187, #188 - Fix header handling in Traverson.

Traverson correctly applies headers when using JsonPath to evaluate GET result: accepts the media types it is configured for and preserves additional headers.
#192 - Added test case to show that mapping lookup works.

The test case added shows that the mapping lookup also works if the method invoked is referred to via a mapped sub type.
#192 - Added linkTo(Class<?>, Method, Object...) to MethodLinkBuilderFactory.

The newly introduced method is needed to make sure the correct mappings are looked up if the method given is actually not declared on the class the method shall eventually be invoked on.

This is basically allowing to try to build links, similar to the dummy invocation mechanism but effectively avoiding the overhead of creating such invocation manually (as it would usually require reflection to be used).
#195 - HalEmbeddedBuilder now considers RelAware on objects added.

This change introduces a RelAware interface for objects to implement which want to enforce a particular rel to be used in the _embedded clause. This is useful if the objects being added are not categorized by type but rather by their role in the context of the main object.
#198 - TemplateVariables now drops duplicate TemplateVariable instances.
#199 - Refactorings in HalEmbeddedBuilder.

We now provide a dedicated EmbeddedWrappers API that HalEmbeddedBuilder uses to transparently handle the collection enforcement etc. It also allow manually hand in EmbeddedWrapper instances to enforce a certain behavior independent of the global settings in HalEmbeddedBuilder.

Simplified HalResourcesSerializer in Jackson2Hal module as we now don't have to deploy custom serializers for the embedded elements anymore.

Supersedes some of the API introduced for #195.
#141 - Set up feature branch.
#141 - Alps support hacking.