Correct validation for timeout when rolling update

Using effective capacity not the current capacity to calculate
whether the update action will in result timeout.

Change-Id: I718e19c197efa5ca3add270a7470ed26e0f705db
Closes-Bug: #1388695
Add ModelSMigrationSync classes

Add classes for testing correspondence between migration scripts
and metadata.

Implements bp: db-sync-models-with-migrations

Change-Id: Ia007a3b218302f9462b152fa98ad177c4cfff24d
Make ResourceGroup updates update nested stacks

When you update a ResourceGroup which contains a provider resource
any update only happens when the properties input to the provider
change.  Instead, always trigger an update, so we can respond to
changes to the provider template definitions which may occur.

For AutoScalingGroup, we may want something more sophisticated,
where instead of unconditionally recurising on update, the option
to instead use rolling updates to do batched replacemnt of nested
stacks is offered.  But for ResourceGroup (which is a simple
container resource), this behavior seems most appropriate.

Change-Id: I6e0e50c821a27a0a9fb16dbf186558da3632935d
Closes-Bug: #1389499
RandomString RefId return name with no resource_id

Prior to https://review.openstack.org/134557 we'd return the name
when resource_id was not set (e.g during validation), whereas now
we'll return None.  So reinstate the behavior of the base-class
FnGetRefId in the overridden function.

Change-Id: I233476b8411612350c884c4480a8e2f5cc8c2ab5
Partial-Bug: #1392359
Merge "RandomString RefId return name with no resource_id"
Merge "Make ResourceGroup updates update nested stacks"
Merge "Add ModelSMigrationSync classes"
Merge "Correct validation for timeout when rolling update"