Convert Instance to new Schema format

Also, the HA Restarter.

blueprint property-schema-conversion

Change-Id: I64d7a963cc96d82538b9fc8a2965c9a11a3a7a83
Don't pass swift headers as None

If we set an header as None for a container swiftclient would just pass
it to httplib which convert it to string and set the None string into
it. This could not be changed in swiftclient to keep backward
compatibility lords happy so make sure that heat doesn't do that.

Closes-Bug: 1259571
Change-Id: Ida1d2cec87e44264f9a7d69a1e220b544b33b63c
Add support for rebuild --preserve-ephemeral.

This new extension going into Nova permits preserving the ephemeral
partition during a rebuild, getting enough functionality to preserve
state - e.g. on baremetal instances - without Cinder.

DocImpact
Change-Id: Ibc4c24bb2efb82c11699231ae76e2755a753a706
Prevent tempest from failing upon ActionInProgress

Jenkins occasionally fails in the 'check-tempest-dsvm-postgres-full'
test.  The tempest tests sometimes try to delete the same stack twice
and an ActionInProgress exception is raised.  This results in ERROR
messages in the log file, which causes the tempest test to fail.

The fix is to decorate the StackLock.acquire method with
client_exceptions, which "allows the declaration of expected exceptions
that the RPC layer should not consider fatal, and not log as if they
were generated in a real error scenario."

Closes-Bug: #1261433
Change-Id: I0692b9d5cf03501ba532b40abf4e567134cda057
Merge "Prevent tempest from failing upon ActionInProgress"
Merge "Don't pass swift headers as None"
Merge "Add support for rebuild --preserve-ephemeral."
Add an external gateway property to neutron router

Deprecates existing RouterGateway resource and adds external_gateway property
to neutron Router resource to set up the gateway.

Change-Id: Ic61a817e699d2a005c4eb2c5d7b23ae9a70567c0
Closes-Bug: #1246064
Fix comparison with singletons

Many plases in tests code use assertEqual(AA, None),
the same with True and False and negatives of such comparisons.

As comparison to singletons must use `is` operator, appropriate usage
is assertIs, assertIsNot, assertIsNone, assertIsNotNone

These assertions are provided by the `testtools` package,
so this change is not breaking backward compatibility with Python 2.6

This first patch inlcudes roughly half of the files touched by these changes
(up to and including test_n* sans `contrib` code) to ease the review.

Partial-Bug: #1259023

Change-Id: If6779c9230cf73ab93165a00040d1ca32d087c80
Merge "Convert Instance to new Schema format"
Merge "Add an external gateway property to neutron router"