Switch to using oslo.utils

Change-Id: If97d1d95341db9fbc33f6824ff326ee3fc64d8ee
Fix handling of fault details

Fix regression caused by adding a new transport based on 'requests'
in commit 4bd0b4cf. When a Fault message is returned from the backed,
the 'Envelope' and 'Body' tags are stripped and the root element becomes
'Fault'. The path to the 'detail' string becomes '/detail' instead of
'/Envelope/Body/Fault/detail'. The stripping is done in:

suds/bindings/binding.py#detect_fault()

which was not executed when the old http transport was used.

Change-Id: I1b99d37fdbcbf5ea05e4823e408468a06e230ccf
Merge "Switch to using oslo.utils"
Supress error logs when exception is thrown

There are many cases when exceptions from the backend are expected and
these exceptions must not be logged as errors. For example it is a
common pattern to catch DuplicateName/AlreadyExists exceptions and
ignore them in the cases when multiple threads are trying to perform the
same operation. Currently there is no way for clients to prevent logging
these exceptions as errors and the proper way to fix this is to just
raise the exception in oslo and let the client decide if it must be
logged as an error or not.

Closes-Bug: #1377927
Change-Id: I5309cad5b0eeb380387eb3051d80c59b783561e8
Support building wheels (PEP-427)

Universal is used to identify pure-Python module(by bdist_wheel). For
these, it is sufficient to build a wheel with _any_ Python ABI version
and publish that to PyPI (by whatever means).

Change-Id: I2f3b3a5f75aa8dbe4c40f3b9a1d0da43a4b1a0f1