Deprecate run_instance and remove unnecessary code

This begins a deprecation path for the compute manager run_instance
code.

For now the scheduler run_instance rpc method is being removed as it is
unused.

In the K cycle the scheduler schedule_run_instance methods can be
removed which means that the run_instance compute rpc method can be
removed.

In the L cycle the run_instance compute method can be removed.

This also removes cells schedule_run_instance methods which have been
unused since Havana.

bp remove-cast-to-schedule-run-instance

Change-Id: I284ac124fe2ec952db0feab61206eda2a20e40c8
Use objects through the run_instance() path

This removes the use of dict-based instances for the run_instance
path when called from conductor to compute manager.

Related to blueprint compute-manager-objects-juno

Change-Id: I8a206f63cab1e4f939d2c97c258312a8fa540aff
String-convert IPAddr objects for FixedIP.attach()

This fixes a couple places where we pass a (non-serializeable)
IPAddr object to the FixedIP.attach() method, which blows up.
We probably need a more generic solution to this problem, as it
keeps coming up. However, for the moment, this is less problematic
than the patch reverted just before this.

Change-Id: I716c558a3535b3ed5c9b10f5788a4463a3daa3d3
Fix docstring typo in need_legacy_block_device_info

Change-Id: I9aaec5f73f3001c0926aba2fba4165f3a66319f1
Merge "Fix docstring typo in need_legacy_block_device_info"
Merge "Deprecate run_instance and remove unnecessary code"
Merge "String-convert IPAddr objects for FixedIP.attach()"
Merge "Use objects through the run_instance() path"