Add OS::Neutron::RouterL3Agent for router.py

This resource supports part of "agent management and scheduler
extensions" in Neutron. It associates router with l3-agent.

see related-bug: #1245366

Closes-bug: #1259845
Change-Id: I781645e62beb4fe60e064d61ad298834e551142d
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
Merge "Add OS::Neutron::RouterL3Agent for router.py"
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."
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