Implement a Heat-native resource group

This resource allows for creating groups of identically
configured resources via nested stacks. It provides
aggregated as well as indexed access to the nested
resource attributes.

Implements: blueprint native-resource-group
Change-Id: I089e6d2f795d30ebe410df151ebc68639ea7102b
FaultWrapper error mapping supports parent classes

Now the FaultWrapper middleware maps exceptions to webob ones using
a recursive method: if the exception itself is not in the error_map
dictionary, the method searches the first parent exception that has a
match in the same dictionary.
Without this change "any exception that subclasses an exception mapped
in FaultWrapper.error_map will raise an http 500 error instead of the
mapped http error. FaultWrapper should also map against all parent
types of an exception."
Two unit test were added: one to reproduce the bug and another to test
the fix when remote exceptions are handled.

Change-Id: I387e0acf35a4d6361494117218d5129f00d77eb7
Closes-Bug: #1232885
Define deletion policy constants

Defining resource deletion policies 'Delete', 'Retain',
'Snapshot' as constants because these values are used more
than once and also in multiple modules.

Change-Id: I53596f17d49ce7512b70ba9652d8dea290dbed83
Adds ability to configure various clients used by the Heat

This commit adds config sections [clients_nova], [clients_swift],
[clients_neutron], [clients_cinder], [clients_ceilometer] and
[clients_keystone]. These sections contain additional configuration
options for corresponding OpenStack clients.
Currently those are only SSL-related setting ca_file, cert_file,
key_file and insecure. Note, than not every client library is
currently capable of utilizing all of the SSL settings.

There is also a plain [clients] section that holds shared client
options. Each option searched first at specific group (clients_xxx)
and if it not found there then the value from [clients] group
are taken (or default values if there is no such setting in this
group). This allows defining shared configuration that would be
used by most (or all) clients without repeating the same settings
for each and every client separately

Closes-Bug: #1213122
Implements: blueprint clients-ssl-options

Change-Id: Id9ccbffce0d5c266202fdb1cf24a9ffb63e507e6
Fix BaseException.message DeprecationWarning

Fix a ex.message reference, which won't work in python3 and
causes a DeprecationWarning to be output on >= python 2.6

Change-Id: Ie115f37997b6bd877e2a5c1d58adf5e3137ac6ae
Improve coverage of storing credentials in parser.Stack

Currently the trusts path is not directly tested, so add coverage
and ensure the correct credentials are stored in each case.

Change-Id: I0aa999e01015046946f242a9b52b484522dc6d72
Add test for OS::Heat::HARestarter

Used mock library for this test.

Change-Id: Ifb4870c45a3f53f5fcec8f3ae5fb4c09beb247a7
Closes-Bug: #1237109
Add coverage for trusts parser.Stack delete path

Change-Id: Ic55030be389ac71ec999e08533fa9d5fc05b5bd1
Merge "FaultWrapper error mapping supports parent classes"
Merge "Implement a Heat-native resource group"
Merge "Fix BaseException.message DeprecationWarning"
Merge "Improve coverage of storing credentials in parser.Stack"
Merge "Add coverage for trusts parser.Stack delete path"
Merge "Define deletion policy constants"
Merge "Adds ability to configure various clients used by the Heat"
Merge "Add test for OS::Heat::HARestarter"