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 much better, but I'd prefer even more if we just put in an
```
type MinionLister interface {
  ListMinions(selector) (*api.MinionList, error)
}
```