Add support for XEP-335: JSON Containers

and GCM JSON payloads for Google's GCM Cloud Connection Server.
Include the full content in UnparsedResultIQ

In order to prevent

<iq to='...' from='...' type='result' id='1'>
  <mynode xmlns='my:namespace' myattr='...'>
    <somenode\>
  </mynode>
</iq>

showing up as UnparsedResultIQ like this:

<iq to='...' from='...' type='result' id='1'>
  <somenode\>
</iq>
Use switch/case in 'IQ parse(XmlPullParser)'
Added javadoc about extended content to PacketExtension
Refactor Bind and Roster IQ parsing code into providers