Tidied up xmlutils.
Make certain exception classes from requests available on the Transport object.
Modified minisoap to just contain functions which wrap / unwrap UPnP structures.

Also introduced some error classes as well for decoding purposes.
Rejigged the validators module to always internally use to_python.

formencode's validation mechanism performs a greater number of checks when
using to_python compared to from_python - this is especially the case when
you try to use schema validation and want default values to be filled in.

While it would be nice to use one validator and use the natural input / output
mechanism - in this case, it's easier to just use the same validator in the
same direction, and then to slap value-to-text conversion wrappers around the
validator when pushing the values out to SOAP.

Also got more involved with using meaningful, easier to grok identifiers for
validators to make it easier to inspect what the values are expected to be.
Added functions and error classes related to building / decoding UPnP responses.

Also added support for handling two-byte signed integers.
Updated Service.invoke to use the newest internal API's.
Stop outputting the content of SOAP responses to stdout when decoding!
Fix simple_elements_to_dict to handle child elements with blank text.
Handle boolean types in UPnP code.
validation - Handle boolean types and return empty dicts rather than None for schema types.