Created a Link::factory method

- Makes creating links simpler
- To be used for creating links via metadata
Refactoring

- Moved self link creation to a new method,
  marshalSelfLinkFromMetadata()
- Created stub method marshalMetadataLinks() for future use
Unit test for link embedding functionality

- Added unit test to verify link embedding functionality
Link injection via metadata

- Updated Metadata class to compose link configuration
- Updated HalLinks::marshalMetadataLinks to add each link stored in
  metadata
- Fixed unit test -- had accidently pushed links one level deeper than
  desired
CS fixes

- trailing whitespace
Inject links from metadata into collections
Wrote tests demonstrating proposed events

- renderResource
- renderCollection
Implemented new events

- renderResource
- renderCollection
Added documentation for #79

- Covers new "links" element of the Metadata
- Covers new renderResource and renderCollection events
Remove some trailing whitespace
Merge branch 'feature/79' into develop

Close #79