Rest API sorts locations by name
Adds HasId and HasName marker interfaces for Rest API domain objects

Simplifies sorting of summary objects by name/id
Reworks jsgui catalogue page to display app/entity info

Breaks deletion of locations
Adds /v1/catalog/applications/id to Rest API

Just calls equivalent for /v1/catalog/entities/id. Makes jsgui logic
much simpler.
Further improvements to jsgui catalog page

* Displays as much as possible of catalogue item when selected, then
  refreshes model and only updates display if model contents change.
* Can delete models if button with class delete is clicked.
* Improved presentation of errors loading models
* Removes add-new-thing catalog button, to return later
Merge remote-tracking branch 'upstream/master' into feature/jsgui-catalog

Conflicts:
	usage/jsgui/src/main/webapp/assets/js/view/catalog-details-location.js
	usage/jsgui/src/main/webapp/assets/tpl/catalog/details-location.html
	usage/jsgui/src/main/webapp/assets/tpl/catalog/nav-entry.html
Add Apache license header to new source files
Merge remote-tracking branch 'upstream/master' into feature/jsgui-catalog

Conflicts:
	usage/rest-server/src/main/java/brooklyn/rest/resources/CatalogResource.java
This closes #51