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
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"