Fix set_vm_state_and_notify passing SQLA objects to send_update()

Similar to the fix in https://review.openstack.org/137194, with the
recent changes to notifications this must now pass an instance object.

Also change a call in build_instances() to use this updated method
instead of the old handle_schedule_error() method in scheduler.

Change-Id: I37431dd14165883d9a4f81c3892bd6c3a94da86d
Related-Bug: #1396324