Simplify the API in several ways:
- provide the context to the IQ result handler, making it possible to pass in
extra context and handle timeouts within the handler.
- pass the stanza in as an IQ type, removing the need to always type-cast it
in the handler
- remove Router.HandleIqResult and Router.HandleFuncIqResult. Since the router
is private to Client nobody would ever use these, and they do not really make
things simpler anyway.
* Add constants (enumlike) for stanza types
* NewIQ, NewMessage and NewPresence are now initialized with the Attrs struct
* Update examples
* Do not export backoff code. For now, we do not need to expose backoff in the documentation
* Make presence priority an int8
- Using the router, the dispatch is not done anymore by receiving from
receive channel, but by registering callback functions in routers,
with matchers.
- Make IQPayload a real interface to make it easier to match namespaces.
- The StreamManager Run command is now blocking, waiting for StreamManager
to terminate.