Do not display None in pretty tables for fields with no value

Fields that are present but unset in a backend (like the email field for
a user created with no email in the KVS backend with the keystone
command line) will appear as "None" when listed, instead of as an empty
field.

Change-Id: I86dc0a204847518e61ba9f6f46d4637d897cfac1
decoding json only on 2xx success response
bug 1007661

Change-Id: I9090c78bb9a19ae46d865fca80af0b3bf4257dc6
Change CLI options to use dashes

Change documented options to use dashes instead of underscores
in option names.  Continue to support old underscore names for
backward compatibility for a release or two (TBD).

Blueprint: command-options

Change-Id: Ied0d325a9fdd32f80bf8c993887e1975aa6adf16
Merge "Do not display None in pretty tables for fields with no value"
Don't call PrettyTable add_row with a tuple.

Updates the print_dict function in utils.py so that it doesn't
try to append a tuple with add_row. According to pydoc add_row
should get passed a list (not a tuple):

  Arguments:

    row - row of data, should be a list with as many elements as
    the table has fields

This fixes a TypeError which can occur with the existing code:

TypeError: can only concatenate list (not "tuple") to list

Fixes LP Bug #1019409.

Change-Id: I16f745afa872106c3bc44c33d88db2a5aacd776c
Merge "Change CLI options to use dashes"
Merge "decoding json only on 2xx success response bug 1007661"
Merge "Don't call PrettyTable add_row with a tuple."
Support 2-way SSL with Keystone server if it is configured to enforce
2-way SSL.  See also https://review.openstack.org/#/c/7706/ for the
corresponding review for the 2-way SSL addition to Keystone.

Change-Id: If0cb46a43d663687396d93604a7139d85a4e7114
Replace obsolete option in README

commit 1fa29109c2194102b4c79fa7fd7328843af6998e missed this instance
because it was missed in the previous parameter rename, in its long
interesting naming history:
--os-version renamed to --version renamed to -identity_api_version
renamed to --os_identity_api_version renamed to
--os-identity-api-version

Change-Id: I7cb3bb30f9071d5071d424c37f94b032ca93bb2c
add keystone bash-completion

Change-Id: I84d3897fc056d411fdaaee301465c72e20a66ff8
Install test-requires in development venv.

Otherwise ./run_tests.sh may fail

Change-Id: I122fc474568e6670e6c8aa2a3c854a3f2ceccd53
Merge "Replace obsolete option in README"
Merge "Install test-requires in development venv."
If no password in env or command line, try prompting

Implements keystone portion of blueprint prompt-for-password

For security reasons, having the password on the command line
or in the environment is an issue for us. (See the blueprint for
details.) This change will simply make one attempt to prompt for
a password if (1) nothing was specified already and (2) there's
a tty available for the user to respond on. If we don't get a
password, then the existing error will be raised.

Remoted getpass from pip-requires, it's in the std lib

Tweaked a comment

Tweaked error message

Don't catch Ctl-C

Fix import to match conventions

Missed a tweak during the rebase.

Added suggested password prompt

Change-Id: I54bca2397da7bd366f7ac503e767b109efc093e7
Add '--insecure' commandline argument

Allows to ignore validation errors that typically occur with self-signed
SSL certificates. Making this explicit is important as one would
typically only use this in development or in-house deployments.

This should also fix bug 1012591.

Change-Id: I1210fafc9257648c902176fbcfae9d47e47fc557