DATAREST-229 - RepositoryEntityLinks now exposes templated links.

If the resource exposed for a domain or repository type is considered a paging resource we now return a templated URI. Introduced ResourceMapping.isPagingResource() to allow clients to find out about whether the resource is actually capable of pagination. Adapted implementations to inspect the findAll(…) method as well as the search methods for a Pageable parameter.

Tweaked pom.xml to create correct classpaths if the IDE uses direct workspace project references.
DATAREST-31 - Improved link rendering for search resources.

If the search resource is capable of paging we now augment the link with pagination template variables.
DATAREST-219: Make editing collection-based properties more efficient

This PR is inspired by #86, but had to be written from scratch because it was over 10 months old when this was undertaken. It was unmergable.

Essentially, by casting existing collections and then iterating over them and making adjustments should render more efficient back end database operations. Only for a PUT should a new collection be created.

This PR not only updates these operations, but provides test cases to back up these edits, i.e. a test case for POSTing to a collection, PUTing to a collection, and DELETEing from a collection.

> **Note:** This also includes several updates to the supporting test infrastruction.

* Apply Ollie's patch for testing uri-list updates
* Fix UriRest handler so it handles ResourceSupport
* Implement ControllerUtils.toEmptyResponse

Adds ability to return an empty response with only the Location header populated by looking at the property update's incoming URL.

> **Note:** This PR was inspected based on CONTRIBUTING.md