Catalog versioning - groundwork changes
Catalog versioning - REST API
Catalog versioning - JSGUI
Catalog versioning - Reference installed OSGi bundles by name+version

Also fix failing tests from previous commits.
Catalog versioning - Using AssemblyTemplate.getName() for getting catalog items is wrong.

Catalog items are registered by id+version in the brooklyn.config section,
the name is unrelated which means that the items were never found.
The code path in BrooklynEntityMatcher is not needed anyway, already
handled by the instantiator.
Catalog versioning - Fail on adding catalog item with same version.

Allow for override if forceUpdate is set.
Catalog versioning - Clean up the CatalogItem interface

  * override id to return getCatalogItemId()
  * introduce symbolicName (analogous to old id/registeredTypeName)
  * deprecate registeredTypeName in favor of symbolicName
  * getCatalogItemId() should return symbolicName:version
  * deprecate useless CatalogLibraries interface
  * keep backwards compatibility for deserialization (registeredTypeName, libraries)
  * remove CONGIGURATION catalog item type

Clean up the CatalogItemSymmary REST interface and udate JSGUI to match

  * add symbolicName
  * remove registeredTypeName
  * keep id, but construct from other arguments
  * keep type, but alias to symbolicName
Catalog versioning - groundwork for returning the latest version if no version specified
Catalog versioning - when no explicit version use the highest version (preferring non-snapshot)
Catalog versioning - fix failing tests
Catalog versioning - consistently use symbolicName and other minor changes

Addressing first review comments.
Catalog versioning - streamline catalog field initialization

Implement new requirements for symbolicName, displayName initialization and make the selection logic between fields consistent.
Catalog versioning - backwards compatibility from rebind and catalog.xml
OSGi rebind - infer catalog item ID from entity type

The change allows rebinding to persistence stores from old versions where the catalog item ID used for creating the entities is not included in the serialized state.
use osgi to deserialize mementos

introduces a ClassLoader based on the BrooklynClassLoadingContext for use when deserializing mementos, so that osgi-bundle-specific effectors etc can be instantiated
Catalog versioning - address review comments; OSGi rebinding

When the type for an item being deserialized can't be find try iterating through all available catalog items as a last resort.
This closes #312
Fix ApplicationResourceIntegrationTest

- can get back json or plain string from
  client().resource(stateSensor).get(String.class);
  accept either
Fix MemoryUsageTrackerTest

- was non-deterministic (asserting memory usage immediately, before
  listener had been called by GC)
Fix yaml use of SshCommandSensor

- Was causing failure of VanillaBashNetcatYamlTest
- SshCommandSensor constructor expects ConfigBag, rather than Map.
- Change BrooklynYamlTypeInstantiator.newInstance to look for a
  <init>(ConfigBag) constructor as well.
- Fix `Class AddSensor.getType("String")` so it tries prepending
  "java.lang." as well
- set poll period to 100ms in yaml (instead of default 5 minutes)