Add support to list compute extensions

Since novaclient has support to list extensions, we should add
some of the logic to our list extensions command.

Closes-Bug: #1337684
Change-Id: I3074225780142df265a34add03e60c0f7c64c711
Python 3: remove a useless code to safe_encode()

The safe_encode method returns bytes, so we cannot concatenate its output with
text strings. This call does not seem needed after all, so let's just remove
it.

Change-Id: I6c18427559147d4c732ff7daa6d6006e7e5f6365
Add support to list volume extensions

Since cinderclient has support to list extensions, we should add
some of the logic to our list extensions command.

Change-Id: I7dc7ca325ea9b82194bba6d875e7b8dc1884d77e
Closes-Bug: #1337687
Catch SystemExit for parse args

If you have a test with parse args it fails with no error
messages.  This change throws an exception.

Change-Id: I545aba346620a352fe570d394dbd4d6bd2daa995
Allow network find to use alternate name

Add the name_attr to the network find method so it can search
for things like floating_ip_address for floating IP addresses
rather than just id.

Change-Id: I827e3745b06397a54555d1286e477bf2e05bf789
Python 3: do not compare a list to a zip object

In Python 3, zip() returns a zip object, not a list.

Change-Id: I1a472bec3e12b5ae3c3555cf690b99a57579ce83
Domain administrator cannot do project operations

Domain administrator cannot do project operations because the
require access to the domain API (which they don't have).  When
attempting to find a domain for project operations, ignore errors
because the API returns nothing without indicating there is a
problem.  The domain administrators will have to use a domain id,
but they will still be able to do project operations.  If the user
does not have permission to read the domain table, they cannot
use domain names.

Change-Id: Ieed5d420022a407c8296a0bb3569d9469c89d752
Closes-Bug: #1317478
Closes-Bug: #1317485
Merge "Python 3: do not compare a list to a zip object"
Merge "Python 3: remove a useless code to safe_encode()"
Clean up make_client() logging

Change-Id: I0b6760a6401b50e3dfb891af75424ae89df42ebc
Merge "Add support to list compute extensions"
Merge "Clean up make_client() logging"
Merge "Catch SystemExit for parse args"
Merge "Allow network find to use alternate name"
Merge "Add support to list volume extensions"
Merge "Domain administrator cannot do project operations"