Better exception handling for deletes during build

To retain parity with the current run_instance boot process we should
not set the instance to ERROR if a delete occurs while it's building.

Some instance updates were moved into try/except blocks so the
task_state check failures are handled properly.  And a test for a
condition that can't occur was removed.

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

Change-Id: I688059404d6b697bd21f6037252dbe628c1b24f2
Don't deallocate/reallocate networks on reschedules

If network allocation is not host dependent we don't need to deallocate
and reallocate a network for each reschedule.  Only baremetal has host
dependent allocation so for that driver networks are de/reallocated on a
reschedule.

The current method in the code which checks for the length of the list
returned from _get_instance_nw_info() doesn't work because it can't
distinguish between an unallocated network and one that doesn't return
network information.

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

Change-Id: Ic427715f46cb5179a37c593c4217f239c65544c3
Merge "Better exception handling for deletes during build"
Merge "Don't deallocate/reallocate networks on reschedules"