Prevent volume-attach/detach from instances in rescue state

Rescue is supposed to just be a way to log into a wayward instance
if something goes wrong with the base image that may have had some data
(logfiles etc.) and make it possible to grab that  - block devices are
assumed to be accessible by re-attaching them, and are considered
persistant so no need for rescue there.

Since there is no need to attach a volume in rescue mode, and detaching a
volume that was previously attached doesn't work, just ban volume
attach/detach in rescue state.

Fixes bug 1126187

Change-Id: Ifdf164155942cdeb2bbdfcd1dce0dd2e125b507c
Ensure that headers are returned as strings, not integers.

The 'Retry-After' header was set as an integer, and it was causing that
mod_wsgi failed with a 500 error, instead of the actual error. This
ensures that the headers are converted to str.

Fixes bug 1155585
Change-Id: If1b1de2308ccdc6f0588c8df5dc896fe5f767dbe
Fix multiple fixed-ips with quantum.

This patch fixes a bug in the quantum suppot where multiple requested
fixed-ips did not work.  Every network interface would be given the last
fixed IP that was specified.  The problem was just the lack of putting
the right fixed ip in a local variable.

Fix bug 1154093.

Change-Id: Ie7e034e19a38c8431540c81b023ff4800aa6ec50
Fix console support with cells

The (relatively recent) security fixes for consoleauth do not work
with cells because consoleauth and the compute manager for the instance
talk to different rabbit servers.  consoleauth is in the API cell and
the compute manager is in a child cell.

This patch adds code to proxy the following via cells:

1) compute -> consoleauth's delete_tokens_for_instance()
2) consoleauth -> compute's validate_console_port()

Also: On instance deletion when the compute manager tells consoleauth to
delete tokens for the instance, it's not necessary to do an rpc.call and
block.  The only purpose it could serve would be log a traceback on failure
on the compute manager side, but that seems unnecessary.  There's no
return value.  This patch changes it to an rpc.cast instead.

Fixes bug 1154755

Change-Id: Ic763f2a5c0dcff7b7ccfac5927680e7881605f61
Merge "Ensure that headers are returned as strings, not integers."
Merge "Prevent volume-attach/detach from instances in rescue state"
Merge "Fix console support with cells"