LPS-48728 implement new repository definition system

This fixes previous problems with the PR. Third-party devs will be able to create and deploy new repository types using OSGi bundles, and also adds an event system around repository operations to allow the decoupling of additional actions (Sync, Assets, etc.) that right now are hardcoded all over the portal.