Rework RunOnce state machine

Instead of walking RunOnces across ETCD directories, this change
walks individual RunOnces through different RunOnce states.

Signed-off-by: Onsi Fakhouri <onsi@pivotallabs.com>