Add discovery for AMP and Registration features
Discover auth mechanisms along with other stream features
Feature negotiation is handled in one function.
By default a presence stanza shouldn't have a type.

"available" is not a valid presence type.
Store the password in the client

Would like to find a better solution for this. I don't like the idea of
a plain text password inside running process state. Perhaps it could be
encrypted/decrypted.
Allow the client to be killed
Update conn_test
Improve authentication

Allow auth mechanism preferences
Update iq stanza
get_roster
get_vcard
Service discovery
Update Stanza docs
Presence struct to XML
Add "xml:lang" for "en"

This should eventually be configurable
Inline attrs
presence/1 to specify simple presence like "unavailable"
Convenience for a data payload
Improve Stanza.message

Reorder arguments for Stanza.message/3;
Add Stanza.message/1 when the arg is a map
Default message type should just be "normal"