Namespace abstraction and two helper methods to improve testing

Namespaces are now located in one place (owslib.namespaces) rather than scattered through the code.  The changes are backwards compatible with previous version of OWSLib and shouldn't break any other libraries that depend on OWSLib.

To correctly compare XML blocks in doctests there needed to be a helper method that didn't do the comparison based on output from etree.tostring().  lxml's etree and ElementTree from native Python were returning etree.tostring() differently (lxml was using an OrderedDict for the attributes while ElementTree was not sorting at all).