Storing offline messages without body content

Tigase can now store offline messages without <body/> content.

See XEP-0334 for protocol details.

This can include message receipts, and messages with specific do-not-store tags.

Support has been added to set a list of paths and xmlns to trigger and place storage of offline messages using the following settings in config.tdsl:

'sess-man' {
    amp () {
        'msg-store-offline-paths' = [ '/message/received[urn:xmpp:receipts]', '/message/store-offline' ]
    }
}

This example results in two settings:

/message/received[urn:xmpp:receipts]
Results in storage of messages with a recieved subelement and with the xlmns set to urn:xmpp:receipts
/message/store-offline
Results in storing messages with a store-offline subelement without checking xmlns.