Don't send untextified exc to webob

As part of commit cbe1d5f5e22e5f792128643e4cdd6afb2ff2b5bf I
accidentally removed the str() from exceptions that were being
passed out of OpenStack to webob.  This broke the contract with
webob which was expecting strings (text) to be sent.  This
resulted in webob doing bad things if we encountered an exception,
like trying to create a duplicate volume type.

This commit replaces the str()'s that shouldn't have been removed
with six.text_type() which should be used in place of str() to
resolve this issue.  There was one instance where a message was
instead being unicoded, this also was changed to use six.text_type.

This commit also fixes one message that should have been translated
but was not.

Change-Id: Iad6a81108f58c1bfd13397479022c4c4ad1ccc56
Closes-bug: 1290715
Merge "Don't send untextified exc to webob"