Fix to properly issue an Unauthorized exception

This change adds a small workaround in exc.py to avoid a situation
where an HTTP response that has a content-type of 'text/*' but
no text attribute will trigger an AttributeError exception in
the openstack.common.apiclient.exceptions module.

Added a test to make sure the ironic client throws an 'Unauthorized'
exception when it encounters a 401 Unauthorized HTTP response instead
of the observed behavior of throwing an inappropriate AttributeError
exception.

The workaround mentioned above corrects the tested behavior.

Change-Id: I930fd61a896f62a2984cca1e4d40e5d89644aa3f
Partial-Bug: #1402840