Add keystone v3 auth support

This change enables the heat client to use the keystone v3 API (in
addition to v2).  This allows user domains and tenant/project domains to
be specified.  This is necessary because keystone v2 API is deprecated
as of Icehouse.

Change-Id: Id19c4e52b12b379746a36b1f9fb61eb2825c78f3
Implement events pagination, sorting and filtering

It supports pagination for events-list.

Implements blueprint events-pagination-heatclient

Change-Id: I11ca89b0a203435ba3793d061d7d06cb458d61eb
Add rel field to links display

Currently the "rel" keys from the links list are not displayed, so
it's not that clear which link refers to what unless you're familiar
with heat.  So add a suffix which mentions the rel so e.g users can
see "nested" there and tell the link refers to a nested stack.

Change-Id: I5abe7f7b51c290bd9d8daaccb7f9a842af898f58
Add a tox job for generating docs

Add a tox job to make it easier for developers to generate their
own docs before submitting a patch.

Change-Id: I9c53ce664b164003fe42ed03d1f850d954bf0971
Update theme for docs

The current developer docs theme used is out of sync with the other
openstack projects. This patch will update the docs to provide a more
consistent look and feel when using developer docs

Change-Id: I97817b8c6d8bef71c4f237be864d1e79dc09098c
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
Revert "Add keystone v3 auth support"

This reverts commit a98c1f3617604c4871263ff9cc986b27f302ef46.
The new usage of session doesn't work with resources or events.

Conflicts:
	heatclient/tests/test_shell.py
Closes-Bug: #1349467

Change-Id: Ib5b0db81454abe647aca6461dd7bd5f197267fb8
Merge "Add rel field to links display"
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
Merge "Add a tox job for generating docs"
Merge "Update theme for docs"
Add nested-depth option to resource-list

Add `--nested-depth` option to allow listing of nested resources up to
`<DEPTH>` levels deep.

Implements: blueprint explode-nested-resources
Change-Id: I401f68d8c2e14179972928920003c75c851ad9cc
Merge "Add nested-depth option to resource-list"
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"