OF-2161: Ensure that SSID for MUC PMs is the MUC JID
When a private message that's exchanged in a MUC room is processed, it receives a stable and unique stanza ID. As per specification, Openfire adds a 'by' attribute. However, for private messages, this value is a full JID (representing the nickname of the user that sent the message), instead of a bare JID (representing the room in which the message was exchanged). This is fixed by ensuring that the JID used is a bare JID.
Improve SubscriptionTask implementation
The existing implementation lazily-loaded a subscription instance. Construction of such an instance is very cheap. Constructed instances are unlikely to be reused often by the SubscriptionTask that created them.
To reduce complexity (and improve maintainability) of the code, the lazy-loading of the subscription instance is being removed.
This should have not functional change. There is an API change that I deem neglible: a transient, package-protected field (that is not accessed outside of the class) is being removed.
OF-2162: Add 'ofrom' to private MUC messages
This applies the changes applied to public MUC messages, introduced in OF-2089, and applies them to private messages too.