Fix a problem where if a minion went missing, we still thought the pod was running.

Also convert some tests to table driven.
If Pod's previous state is Running, even we have issue on listing minions, it shouldn't reset it back to Waiting.