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