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

Also convert some tests to table driven.
This is already exactly what MinionInterface is, why should we introduce a different interface?