Return proper error messages while disassociating floating IP

Currently, when a floating IP is not associated with an instance, and if we try
to disassociate it, a response likes "HTTP/1.1 404 Not Found" will be returned,
it is not proper, so change it to "HTTP/1.1 422 Unprocessable Entity" with body
likes '{"computeFault": {"message": "Floating ip 172.24.4.225 is not associated
with instance a33857af-b18b-4b88-a5cc-7d84c7fd41c8.", "code": 422}}'.

Fixes bug: #1129719

Change-Id: I18194ccf59edb5eb2bcd52a65f38d5632fef95d3
Fixes live migration with attached volumes issue

Fixes Bug: 1140917

Live migration fails when there are volumes attached to the instance

Change-Id: I27b39ac41e97840d2a60006b1c74f6d256bc53b7
Remove completed FIXME.

block_device_mapping doesn't need elevated context anymore.

Change-Id: Iee23320be10604256db479c13ee405f601cbfd42
Merge "Remove completed FIXME."
Merge "Return proper error messages while disassociating floating IP"
Merge "Fixes live migration with attached volumes issue"