Refactor OS::Nova::Server delete handling

OS::Nova::Server used an internal coroutine to handle_delete instead of
implementing check_delete_complete. While this mostly worked, the coroutine
didn't account for errors in deletion from Nova nor did it use a timeout. This
would lead to infinite execution when servers didn't delete properly. This
patch refactors delete to use the standard handle->check lifecycle methodology
and accounts for error statuses during delete.

Change-Id: I6b13c1201e46c0e73aa11e78825045b345931fb7
Partial-Bug: #1329453
Merge "Refactor OS::Nova::Server delete handling"