Change errors_out_migration decorator to work with RPC

This decorator in nova/compute/manager.py was written to work with
positional arguments, but at run time the decorated methods are
called via RPC with keyword arguments.  This change fixes the
decorator and the associated test cases.

Closes-Bug: #1300380

Change-Id: I9f87151a71e5217e7eff97cdc5cad2c85b620fa5
(cherry picked from commit 72cd430e971589f7872a9d4e8f173c68b4955375)
Moved the registration of lifecycle event handler in init_host()

The event handler has to be registered before the libvirt connection
is used for the first time.  Otherwise it doesn't register and events
such as shut down initiated from within the instance are not registered
in nova until a period task compares the content of hypervisor with
content of database.

Closes bug: #1297485

Change-Id: I70887bea343734a977f621fedc634b6fab0e4ad5
(cherry picked from commit 8a430da045d86ccb8daee6e082c12890ce5c5276)
Merge "Change errors_out_migration decorator to work with RPC" into stable/icehouse
Merge "Moved the registration of lifecycle event handler in init_host()" into stable/icehouse