Add a OS::Nova::ServerGroup resource.

Change-Id: Ia6dc596b3ddcfb29dfe8f712794584fb2f6954ca
Implements: blueprint vm-instance-group-support
Pass the context when updating raw_templates

Without a context, the raw_template was being stored using a different DB
session, with the result that changes did not end up in the database.

Also, don't use the same raw_template DB entry for the backup stack, since
that causes competing modifications to the DB that break rollback.

Change-Id: I6c71c19acac0b87943f36c57c2300cf2b0478aa3
Closes-Bug: #1331872
Related-Bug: #1291905
Related-Bug: #1206702
Related-Bug: #1328342
Deprecate direct access to clients methods

This change deprecates access to methods like clients.nova()
replacing them with calls to clients.client('nova')

This allows the memoization to be done in one place (the client()
method) and also establishes the preferred API for accessing clients
that are contributed by plugins.

All calls should now be going through the new client() method.
Any calls to the old methods will result in a deprecated log
warning.

Change-Id: I3dc45aaed2655536ed1558e03f468b0733527815
Make heat.engine.clients a package

As blueprint client-plugins progresses, the code in __init__.py
will move into plugin modules, until the only package initialising
code remaining will be the following:
- plugin initialise
- Clients class which memoizes client plugins for a given context
- deprecated clients methods (until deleted later)

Partial-Blueprint: client-plugins
Change-Id: Ic8f67e3519b10c0d3d204e15e5ad72376c50a1dd
Updated from global requirements

Change-Id: I8947fe9a024ed9ac546473b21546584961b422e8
Merge "Deprecate direct access to clients methods"
Convert WaitConditionHandle to use handle_signal

The metadata_update interface does pretty much the exact same thing
as handle_signal, with the disadvantage that it's not exposed via
the native ReST API, so convert WaitConditionHandle to use
handle_signal.

This has the following advantages:
- Provides a step towards native waitcondition resources
- Enables signalling existing waitcondition resources via
  heat resource-signal (e.g the native API)
- Moves towards a standardized model where handle_signal is the
  only supported plugin interface for asynchronous signalling of
  resources.

To avoid breaking any CD folks who may not update heat-engine and
heat-api-cfn at the same time, the existing resource interface is
maintained with a deprecation warning (how long to maintain this
is TBC).

Change-Id: I453a24f78095dfa5b3a5311651b5f1ac40aa8b3f
blueprint: native-waitcondition
Update waitcondition API to use signal RPC interface

Update the call to the engine to use resource_signal instead
of metadata_update, since they do basically the same thing
and it would be good to converge on one interface for resource
signalling.

Change-Id: I1385f9f4539eeb7907370e31af5ea2f86870cbe9
blueprint: native-waitcondition
Merge "Make heat.engine.clients a package"
Merge "Add a OS::Nova::ServerGroup resource."
Merge "Updated from global requirements"
Merge "Pass the context when updating raw_templates"
Imported Translations from Transifex

Change-Id: Ida5fa5fc6f311de6952238dab97dceb7694667a2
Add neutron.network constraint to some resources

Change-Id: I267dc5fcf88e1c48ac36713a63ee36a6a1514542