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
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.
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.
Remove @param of a non existing parameter.
Minor updates to catch up with Api Problem changes related to the new HTTP Problem RFC release.

- Doc updates.
- Test update.
Fix typo in testing code.