Be less confusing about notification states

Depending on the way we snake through send_update we might end up in
_send_instance_update_notification without the vm or task states. The
issue being that we always send those states to the notification
payload. So we are actually producing notifications with None(None) =>
which is clearly not right.

This whole notification path should probably be refactored to prevent
this threading from happening, but in the mean time this will at least
mean that we aren't creating blatantly wrong notifications.

Add unit tests for the new behavior.

Change-Id: I5092880647a4ac826376396610599dab99efb08e
Closes-Bug: #1204169
Add further debug logging for multiprocess test

In order to track down where we are stalling add some additional
informational logging into the cleanup path.

Change-Id: Ia12b1049b3a63851bde69cb5f7c3fe31b0d12c41
Related-Bug: #1357578
Merge "Be less confusing about notification states"
Merge "Add further debug logging for multiprocess test"