Change JIDs to be unformatted when shown -- turns out using show for formatting was a dumb idea, because it would typecheck even if the value was no longer a JID.
Export the JID constructor.
Extracted incremental XML parsing to a separate library.
Cleaned unused and duplicate imports, and added some type declarations.
In ``clientBind``, parse and return the JID returned from the server.
Add type signatures for ``mkAttr`` and ``mkQName``, and fixed a typo in ``mkQName``.
Moved utility functions into Util module.
Cleaned up clientBind a bit, and allow put/getTree operations on authenticated clients.
When building a tree from SAX events, include element attributes.
Add constructors for the Bind and Session features.
Re-open the stream after authentication.
Use ``getTree`` to parse the <stream:features> element.
Allow PLAIN authentication.
Started work on authentication support.
Implemented enough parsing to get the list of stream features and SASL mechanisms.