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