WIP on instant messaging helper functions
Major rework of previous commit

- Composing notifications appear to be working for MSRP and XMPP, not yet
  tested for SIP MESSAGES.
- XMPP delivery receipts appear to be working.
- SIP MESSAGES now have a psuedo data session, as with XMPP. Still need to
  set some extra properties on this.
Data session closing/idle timeout improvements
Handle message stanzas with type='error'

Fixes #1
Further changes and testing for SipDataSession
Added test for XMPP service discovery handling
Fixed jshint errors in unit tests