Don't expose X-Auth-Token in heat CLI

Heat CLI exposes X-Auth-Token in debug mode. This patch replaces
X-Auth-Token's value with '{SHA1}<sha1oftoken>'. Some credentials
are exposed by keystoneclient as heatclient uses keystoneclient to
authenticate, it will be fixed in bug:100414.

Change-Id: Ic768af5a947535807ba449fb0aeb1eb98dac56e6
Partial-Bug: #1327019
Added timeout and rollback params in stack-preview

Added the support to specify timeout and enable_rollback
parameters to the stack-preview command.

Change-Id: Ifda2b6bdf2380ce22c6f2027ea8ee4e6e977cf60
Closes-Bug: #1335098
Add support for multiple environment files

This patch adds support for heat to accept multiple -e commandline
arguments. The environment files are merged, with newer values
overwriting older ones.

Change-Id: I01e2baf8dea3bafb1ac6eac34f281c5ff86bf4aa
Closes-Bug: 1350403
Removed undefined method in install_env.py file

There was a call from install_venv.py file to post_process method
of InstallVenv class, but this method is not defined in this class
as result it was raising an error. Even when this error doesn't
affect dependencies installation, it is not allowing to display user
information.

Change-Id: Idb77f164abee5625ac24800ddb94b9b8c0b85162
Closes-Bug: #1275025
Merge "Added timeout and rollback params in stack-preview"
Update stack-preview usage text

`--timeout` during stack-preview is only used in certain validation
paths and `--enable-rollback` is not used at all except to be consistent
with stack-create.  This changes the usage text to reflect these
peculiarities.

Change-Id: I9eafad207075f70b1321bb3559cb1363fe526f85
Remove unused/mutable default args

Having mutable default args is a bad idea
(http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments).

Change-Id: Id941f259ff362f306582be5c2e4bdea133149491
Merge "Add support for multiple environment files"
Merge "Removed undefined method in install_env.py file"
Updated from global requirements

Change-Id: If0cbfd373955f5a626143cf6ef8ed41b12346fb1
Merge "Update stack-preview usage text"
Handle upper cased endpoints

The location header returns a lower cased hostname so make sure
we match on a case-less endpoint.

Change-Id: I58b53b73d4c4e06b8b3026966cbb72963a0fec9a
Closes-bug: #1308992
Merge "Remove unused/mutable default args"
Merge "Don't expose X-Auth-Token in heat CLI"
Merge "Handle upper cased endpoints"
output-file option in stack-abandon

This patch adds --output-file, -O option in stack-abandon command.
If the option is specified, stack-abandon will output a result into
 the file.

Change-Id: Ic2518eae86d5f917d5227c6ab73062b665b5a89b
Closes-Bug: #1299023
Template is not required on stack-adopt

stack-adopt does not require a template, so removing template
parameters passed to stack-adopt.

Change-Id: I713fba392b8b8bbebf2f0c9d9be220e5826bf993
Closes-Bug: #1300336
Re-add keystone v3 auth with fixes

The first part of the commit is to re-propose the v3 auth changes.
https://review.openstack.org/#/c/92728/

The second part of the commit is to address the unexpected keyword
argument 'follow_redirect' and missing endpoint issue in certain
code path such as 'heat event-list' or 'heat resource-metadata'.
With the fix, follow_redirect argument is consumed by
SessionClient.  Heat endpoint is now passed from Heatclient
shell to SessionClient.

Unit tests were added and updated to cover the issue.

Change-Id: I0cdf837c924afe9cbd8826bdca5dd611c183efeb
Closes-Bug: #1349467
Closes-Bug: #1348297
handles keyboard interrupt

When an user intentionally provides an keyboard interrupt, heatclient
throws the entire traceback on to the terminal instead of handling it.

heatclient will now handle the keyboard interrrupt and provides an crisp
message on to the terminal.

Change-Id: Iaa30048e7948d7db1d5b256dd59ca2e0dd842df9
Closes-Bug: #1367283
Merge "Template is not required on stack-adopt"