Fix + test Osgis.parseOsgiIdentifier
Fix OSGi no_version, so it’s a valid OSGi version number

- 0.0.0_SNAPSHOT is not a valid OSGi version.
  It needs to be 0.0.0.SNAPSHOT.
  This is important for when one passes in
  “my.symbolic.name:0.0.0.SNAPSHOT”, rather than expecting them
  to pass an illegal OSGi version.
Add test for CatalogResource.getEntity(entityId)

- The id could be in the form symbolicName or symbolicName:version
  If the latter, then parse it.
This closes #346