Rename 'Context' to 'Session'.
Expose enough of the 'XMPP' monad internals for clients to interleave it with other IO.
Export 'Error' in the public API.
Define the 'XMPP' monad, so clients don't have to pass a stream around.
Merged public API into a single exposed module, 'Network.Protocol.XMPP'.
Cleaned up the 'Component' module
Clean up a few internal modules, provide a smaller external interface to streams.
Add basic support for the ``message`` and ``presence`` stanza types, which simplify the construction of XML trees.
Cleaned up clientBind a bit, and allow put/getTree operations on authenticated clients.
Implemented enough parsing to get the list of stream features and SASL mechanisms.