Wrong arguments when calling safe_utils.getcallargs()

When calling safe_utils.getcallargs(), it will get all argnames from
definition of a function. As every function in Nova has a argument named
`context`, so argnames will always start with `context`.

In nova/exception.py#81, *args is a list of arguments which does not
start with
`context`, however, argnames starts with `context`, this will lead to a
mismatching when zip it into a dict.

Solution for this is that when calling getcallargs(), pass context as
one argument.

Change-Id: I4ce81e1862fb2d741f15747b04aa6bf1a2243364
Fixes: bug #1207153
Enable fake driver can live migration

Now two methods of virt/fake.py does not implemented
1) ensure_filtering_rules_for_instance
2) unfilter_instance

Also the method live_migration does not call
post_live_migration_at_destination, this will cause compute
driver has no chance to update task state for the VM in DB.

Fix bug 1223090

Change-Id: I2fe552faa5f73b47b97e8fefc5c4de04d6785f8c
Retry on deadlock in instance_metadata_delete

Add the retry_on_deadlock decorator to the instance_metadata_delete
function in the sqlalchemy db API.  A tempest test failure shows that it
would benefit from it.

Change-Id: I39547fbbbabc310b78493df0dc055bc320995770
Closes-bug: #1226076
MultiprocessWSGITest wait for workers to die bug

MultiprocessWSGITest.test_terminate_sigterm
fails because the wait for workers to die is unreliable.

Parent process can now wait on child or grand-child
processes to complete before moving on. This allows
for grand-child (aka worker) processes to take as much
time as they need to shutdown. NOTE: If the processes
still take too long, they will be killed by the test
framework throwing the "TIMEOUT" exception.

Reverts to using a ping signal to child process
to determine if the child process is live. Waits for
the signal call to fail, signaling process death.

closes bug #1218133

Change-Id: I08e17005508fe412f462773f9ab212cf0f10382f
Typo: certicates=>certificates in nova.conf

The help message for cinder_ca_certificates_file and
neutron_ca_certificates_file spelled certificates wrong.

As this is user facing, we should fix it.

Fixes bug 1227780

Change-Id: If9372fffb655d21069c005351ebb593d8e16e056
Send notification for any updates to instance objects

Before objects, a notification would be sent for any change to an
instance and the notifications.send_update method would handle any
filtering that needed to be done prior to sending the event.

Currently, the instance objects code is pre-filtering the notification
by only checking if vm_state or task_state changed which is a
regression.

This patch removes the filter in the instance objects code so that
notifications are again sent for any changes to the instance and lets
the notifications.send_update method handle the event as it did before.

Closes-Bug: #1220186

Change-Id: Ib6ceedfe55b021be0fe7fa910e97d46c0cd8f0cd
Merge "Retry on deadlock in instance_metadata_delete"
Merge "Send notification for any updates to instance objects"
Merge "Wrong arguments when calling safe_utils.getcallargs()"
Merge "Enable fake driver can live migration"
Merge "MultiprocessWSGITest wait for workers to die bug"
Merge "Typo: certicates=>certificates in nova.conf"