Initial OSGI work

Towards BROOKLYN-13.
* Adds @ahgittin's initial work with Felix
* Updates catalog.xml to load and store bundle URLs under a `<libraries>` element.
* Adds helpers for loading classes from bundles to `BrooklynEntityClassResolver`
Will we instead pass the yaml in, so have a `addItem(String yaml)`?
Or should we also / instead support `addItem(CatalogItem)` where the CatalogItem can include the yaml, as well as the extracted metadata about it?
(Note it's currently not obvious how to create a CatalogItem to use this - one has to instantiate+set a CatalogEntityItemDto, which is buried in an `.internal` package.)