add OS::Heat::AutoScalingGroup

Adds a new resource for scaling arbitrary resources. Similar
to the way ResourceGroup works, but mixed with AutoScalingGroup.

Rolling updates will be supported in a forthcoming patch.

Change-Id: I4212de46bb15f91e35088724970510cb0594d303
Implements: partial blueprint as-intermediate-resources
generalize necessity of rolling update

Refactor handle_update's use of LAUNCH_CONFIGURATION_NAME
to a separate method, so that subclasses (e.g.
AutoScalingResourceGroup) can determine if rolling updates are
necessary without overriding all of handle_update.

Change-Id: Iecae00677b85649cec8f5d70983cba148b3e32f4
refactor PAUSE_TIME parsing to a separate method

Conversion of the PAUSE_TIME property to an integer number
of seconds is refactored to a separate method so resource that
override PAUSE_TIME to have a different type can be supported.

Change-Id: I9d5323212bea2d9f90612563857e29f33f9f2b7b
Rolling updates for OS::Heat::AutoScalingGroup

Change-Id: I69a1db55490b0ff192eecc3aea066baf86720275