Catalog items versioning

The deprecated methods without version info will use the default 0.0.0 version.
The version attribute for yaml items is required now.
REST API catalog versioning
jsgui versioning support for catalog items
Support name+version when referencing OSGi bundles in YAML.
Don't allow updating existing catalog items.

Catalog items should be immutable.
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.