Fix XEP-0030 service
Documentation fixes (missing toctree entry)
Fix NameError in stanza broker

That name error broke stream management. Kill it with fire.
Make tx_context attribute public on Client
Implement make_reply in xml instead of stanza

This change obsoletes the ugly hack we had before, where we would
temporarily add the reply node to the original node to make it inherit
the correct parser. This is wrong for several reasons.

This change also requires the constructor of a reply to know a TX
context, but that should always be available.
Do not include element tails in output

This has not been a problem yet, but better safe than sorry.
Implement some optimizations to reduce XML stream redundancy
Make use of new XMLStreamSenderContext features

... to further reduce the XML output size. This removes many useless
namespace prefixes, by using the offending namespace as default
namespace in that context.
Replace non PEP8y names (id -> id_, type -> type_)
Reorganize mock classes into separate module
Move SASL and tree comparision related test tools to mocks
Implement a response action which raises BangSuccess

Can be used to prematurely abort a test. Useful to test if the client
e.g. chooses the correct SASL mechanism, and the SASL exchange itself is
known to work. There is no use to duplicate the SASL exchange here, just
put a "!success" instead of the response node sequence.
Provide more error messages in the mock asserts
Interpret SASL failure codes and handle them correctly

Precisely, we now support (a) conversion to an
errors.AuthenticationFailure and (b) detection when the server rejected
a mechanism (and possibly try another one).
Write tests for security_layer
Test that the whole security_layer does the right thing