Allow a UsageListener (i.e. for metering info) to be registered

@alasdairhodge can you review this please?
Those `isInitialManagementContextReal` checks are a code smell. Cleaner for the manager to always delegate to the context, and have the `NonDeploymentManagementContext` throw `UnsupportedOperationException` where appropriate.

Happy for that to be done later,could use a TODO however.