OF-2156: Account for async processing of BOSH requests
This is a major refactoring of the BOSH implementation, that primarily aims to address an issue where Openfire does not properly handle BOSH requests that are processed out-of-order (of their request ID / RID) values. These ordering issues can be expected to happen, due to the nature of the mechanism used (HTTP request), as well as because of the asynchronous Jetty API that's used.
Additional improvements have been included (replacing a JiveGlobal with a SystemProperty, improving documentation, fixing most warnings generated by Intellij).
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.