To-do list updates.
Review all the *Client receiver methods in layer3.go. They should
probably either all be receivers, or none.
Add a Reconnect() function.
Eliminate as many uses of Generic as possible.
Don't keep the password in memory once we're done with it.
Rename extension.StanzaHandlers to something like StanzaTypes.
Think about how to gracefully shutdown. Probably have a Close()
function.
Get rid of logging. We're providing status updates. Allow some sort of
debug flag that prints from layer1.