Reworked the metadata provider functionality
* Metadata providers are now called bundles
* CoreMetadataInstaller is replaced by a single install() method and a set of deploy handlers for different object classes
* Added Constructors which is used to create unpersisted object instances which are persisted by install()