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.