Incorrect Pubsub Service shutdown logic
In the current implementation, the singleton instance of `PubSubPersistenceProviderManager` is shut down when ever the first `PubSubService` is being shut down. This will affect the operation of all remaining services.
The impact of this, so far, has probably been limited, as shutting down only occurs when Openfire gets shut down. Even then, we might fail to persist data. Additionally, it's not unreasonable to expect that some services (particularly) will get a more dynamic lifecycle, which would add more exposure to this issue.