Implement HOT intrinsic function get_file

This function takes a single string argument and uses that as the key
in a lookup into the template files. The resulting content is substituted
as a chunk of text.

The files keys can be arbitrary and the files section can be built manually
when generating the API request. However by convention heatclient will use
the absolute URL of the file as the key.

Change-Id: I83a73b14e1fbf56545151da1d8a0d7afe89149a4
Retrieve user_id from HTTP Headers to populate Context

We need the user_id within notifications sent by Heat to be able to
handle it in Ceilometer, currently only the username is provided which
can be non-uniq per tenant and could confuse the integrity of data.
The easiest way to do that is to populate the Context within the user_id
retrieved from Headers.
No need to store the user_id in Heat backend.

Related-Blueprint: send-notification

Change-Id: I88bd5612556d2000d72427308d17643f14d35306
Provide region_name to trove-client

To create DBaaS instance in correct data center, need to provide
region_name to trove-client. This change updates clients.py in
contrib and passes region_name to trove-client.
Please note that, this is minimial change to fix rackspace Trove
resource and there is a blueprint(multi-region-support) to support
multiple regions.

Partial-Bug: #1261870
Change-Id: I8092b23923629e21b0ba9e487f64ce7f5c826015
Delete rackspace database resource

Rackspace database resource 'Rackspace::Cloud::DBInstance' is not
required anymore and 'OS::Trove::Instance' should be used instead.

Closes-Bug: #1261870
Change-Id: I875048995792aa9993febf1391039d3a82ec849d
Remove spurious tracebacks from tests

Some tests were deleting stacks in the background, thus provoking
tracebacks displayed later on during tests run. The patch waits for the
delete threads to prevent that.

Closes-Bug: #1278836
Closes-Bug: #1278937
Change-Id: I4b90eb6f90168803445039f9588a3052def6636a
Fix errors in hot_spec doc

allowed_values is not written properly in an example, and fix a
sentence.

Change-Id: I6544033365b937e1e0fc33d23c143d6a3291273b
Add a nova keypair constraint

The patch adds a new custom constraint validating nova keypairs, and
uses it in the Instance and Server resources.

blueprint param-constraints
Co-Authored-By: cedric.soulas@cloudwatt.com
Change-Id: I98ef4dd94a165da38e188d4a5d7c0b5d8ff76fef
Improve help strings

Follow oslo.config style guide for help strings better to create
consistent help strings:
* Capitalize first word of each help string
* Finish help strings with "."
* Improve wording
* Add missing space between strings

Change-Id: Ia86734d44fdf4eb3711fef800fe6bdfd1a1b59d4
Merge "Provide region_name to trove-client"
Merge "Delete rackspace database resource"
Merge "Remove spurious tracebacks from tests"
Merge "Fix errors in hot_spec doc"
Merge "Improve help strings"
Merge "Add a nova keypair constraint"
Merge "Implement HOT intrinsic function get_file"
Merge "Retrieve user_id from HTTP Headers to populate Context"