Use the exsisting link collection when properties are links.

This seems to be the espected behaviour, as every other link uses
the 'relation' property of the link. Also allows resources to contain
an embedded resource and a link with the same name.
Allow resource properties to be LinkCollections.

Any LinkCollection is merged with the created resource's links.
Merge pull request #8 from BeckonCall/hydrator-links

Use the exsisting link collection when properties are links.
[#8] Remove redundancies

- Pull link collection from resource early so it can be operated on directly
- Remove check for Link objects when iterating over LinkCollection
- Simplify assignment of normalized links to resource representation
Merge branch 'hotfix/8'

Close #8
Split identifierName into routeIdentifierName and entityIdentifierName
Better option handling in constructor
Fixed setter, split entity and route identifiers
Removed getter proxy and added getters for all proxied properties
Split all use of identiferName to routeIdentiferName and entityIdentifierName
All tests passing
Fix tab > spaces
Changed all identifier_name to distinct name
Adds pagination metadata to the collection, closes #13
Fixes page_total_items on pagination metadata
Merge pull request #12 from TomHAnderson/distinct-identifiers

Distinct identifiers
Fix for existing projects

- If an existing service has an `identifier_name` key, store it, and
  check later if the route identifier and/or entity identifier have been
  set. If not, set them based on this key.
Merge branch 'hotfix/12'

Close #12

Separates entity and route identifier names, and maps between them.
Update test setups

- Metadata maps need to include the route and entity identifier names to
  ensure that the URIs are generated correctly.
Allow returning by composed resource reference

- Allow returning the composed resource by reference.