[#20] Allow using alternate field as ID for link generation

- Allows attaching a listener to the HalLink plugin's
  'getIdFromResource' event; if a listener returns a non-null, non-false
  value, it will be used as the identifier for link generation.
- Only affects resources embedded in collections
[#20] API documentation

- Removed @todo annotation
- Documented new event
[#20] Added end-user documentation
Merge branch 'feature/custom-identifiers' into develop

Fixes #20