BZ 786844 - Fix logic flaw in destroy_on_provider
BZ 786844 - Fix logic flaw in destroy_on_provider

(foo != "x" or foo != "y") will always return true. While fixing,
I also cleaned up the syntax to make it less prone to such errors,
and skipped deletion if we were in STATE_VANISHED.
(cherry picked from commit 7a022c013c7d1bbb1783a873045fcb3c097c7186)

aeolusproject/conductor,aeolusproject/conductor,aeolusproject/conductor,aeolusproject/conductor