Convert Resource to separate action/status

Next step in decoupling action/status

This adjusts the Resource DB columns, model and class to be consistent
with Event, and split action/status.  This also modifies the both APIs
to join the action/status to avoid changing the API (we can't change
the CFN one anyway and it's desirable to avoid breaking compatibility
with the ReST API, or needing a version bump for this simple change)

Change-Id: I02b56eb14045a058e67b9764d386530d555c339e
engine : abstract state-transition logic

Refactor to abstract the handle_create/check_create_complete
logic, so it can be reused without lots of duplication for
other action transitions

Prompted by review comments from:
https://review.openstack.org/#/c/31982/2/heat/engine/resource.py
related to blueprint: stack-suspend-resume

Change-Id: Idb18913ef6ff700b63d5ec6d340d2353fc2294b7
Merge "Convert Resource to separate action/status"
Merge "engine : abstract state-transition logic"