Nested object graph

These changes allow the InterfaceRenderer to convert all the collections within a representation. It can be used along with the corresponding change in halbuilder-json to convert an entire object graph using 'toClass'.

In addition it allows the links and embedded resources to be returned if the interface contains these methods:
List<Link> getLinks();
Map<String, java.util.Collection<ReadableRepresentation>> getEmbedded();

Please consider merging this pull request.