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
Merge "Better exception handling for deletes during build"