Enable deleting multiple stacks with single call

Now "heat stack-delete" can only delete one stack in one request,
this patch enhances this command to allow deletion of multiple
stacks with single call.

Change-Id: Id48bfdbbcd565435725c8a4adf1196dcbb93f9df
Closes-Bug: #1256971
Remove vim header

Vim settings can be done in your vimrc file, there is no need to add
them in each source files. Also if set incorrectly, gate (pep8 check)
will catch your mistakes.

NOTE: openstack.common files are left untouched because they should be
fixed in oslo.

Change-Id: I96fe6479e64a13766e7a974727405423a66cd496
Closes-Bug: #1229324
Added API reference document

The API reference document is missing so addded it and enabled pep8
check for conf.py.

Change-Id: I04236c5427d7ac624781fbfc920a79f855d8cd75
Remove ununsed httplib2 requirement

This is not needed anymore since the logging is handled by
six.moves/httplib.

Change-Id: I4315860648258fb760ea22ca09d0083d7c9afb6c
Closes-Bug: #1266584
Merge "Added API reference document"
Merge "Remove vim header"
Merge "Enable deleting multiple stacks with single call"
Merge "Remove ununsed httplib2 requirement"
Fix some trivial py3 errors

Change-Id: I72334d2ca82057e591dca4fcfa9ef7ecdd3b6878
Remove unused common.base module

Base module is already replaced with a module from oslo common code,
but was not removed. This patch must fix this.

Change-Id: I8f5c4da8884db4024d47ca8d1a80dbb648922a31
Use assertRaises instead of try/except/else

Change-Id: I8b1105404511c003e032f03777ce85325abbe0cd
Update variable name in test_shell.py

Some variable names cannot reflect its real meaning in unit
test for heat shell, this patch update the variable names to
be more accurate.

Change-Id: Ib9b4770769a20b5e139620ceab0f463a4e035d66
Move template_format from heat to heatclient

heatclient needs to (YAML) parse the template to allow it to populate
the content for get_files function calls. For this reason, template_format
(and environment_format) have been moved to heatclient so this code can be
shared by both heat and heatclient.

Change-Id: I3cc11cd57256ad539efb4dab314ac07547e9e6a2
Fetch environment from fields rather than function arg

This is part of a refactoring of the environment code in preperation for
supporting the get_file intrinsic function.

Change-Id: I8bfc0e17822bb2fa66665241e8873cf7cf1ea611
Use template_format.parse for local stack parsing

Previously, API requests contained parsed templates for
json templates, but string content for YAML templates.

This change means that all requests will now contain parsed
templates. A parsed templates is required for get_file
client-side processing.

According to profiling that Clint performed, YAML parsing
could become a significant source of heat server load, so this
change will also mitigate this by pushing out YAML parsing
load to the clients.

This is part of a refactoring in preperation for
supporting the get_file intrinsic function.

Change-Id: Icca0f5e8ad197433872a995419648f841c9f82e0
reconcile prepare_environment_file/url into one funtion

This is part of a refactoring in preperation for
supporting the get_file intrinsic function.

Change-Id: I5c4a16d76fa29f7be2e4db737ebec49fdc1644e4
Move environment and template file functions to own module

This is part of a refactoring in preperation for
supporting the get_file intrinsic function.

Change-Id: If6974fc72c47e6a5c6545e65375e75cfd177fb7a
Test coverage of empty environment

Change-Id: Iade321762a0e68605006252204d0dd4c7aac8a39
Improve and unit-test template contents fetching

This includes some important changes in the way template
content is fetched:
* for template_file, the value is converted to a file:// URL and the
  actual fetching is performed with the URL fetching code path.
  As a consequence it is now possible to specify a file path *or*
  a URL for the --template-file command option. This is a change in
  behaviour, and it does make --template-url somewhat redundant.
  This makes the behaviour of --template-file consistent with the
  behaviour of --environment-file.
* for template_url, the content is fetched in heatclient so that
  the server does not need to fetch the template at all. This means
  that in the API request the 'template' field is populated instead
  of 'template_url'. We can consider deprecating 'template_url' from
  the REST API.

Change-Id: Id8de05973381dba7ac052c45dd074071fd3035b2
Copy run_test.sh from heat repo

This allows run_test.sh to run without a working venv, plus all the
other features of heat/run_test.sh

Change-Id: I71d7af8a5442626192c5c8b5dca446a999ff6ede