Add RPC API for cancel update stack

Implements cancelling of stack update in progress, for any stack
regardless of disable_rollback status.

As a side-effect, a framework for sending arbitrary one-time signals from
outside into a task running as greenthread is added. ThreadgroupManager
holds references of greenlet events associated with a given stack now.

Implements blueprint cancel-update-stack (partial)

Change-Id: Ic929d42946cf28eeb2a7caea8bf908f492693c09
Add Heat REST API action for cancel update stack

Implements blueprint cancel-update-stack (partial)

Change-Id: I5bc5ceebc6c0962540b7fc5f3f7fd3703431a8e7
Merge "Add RPC API for cancel update stack"
Merge "Add Heat REST API action for cancel update stack"