Scheduler reconnects

* Update the scheduler to reconnect to the controller if there is an error or if the channel closes, waiting 1 second if more than one connection attempt has been made since the last update
* Add `ExpandedFormation.UpdatedAt` so that the scheduler can ask for only the updates since the last formation it received an event for
* Make deleted formations appear to have no processes so that the scheduler will remove it's processes if necessary
Well, I want all published formation updates to have an `UpdatedAt` field so the scheduler can always get only the updates it has missed when re-connecting, but here I don't get the deleted formation from `r.Get`, so I am just setting it to something reasonable.

I guess I could add a flag to `r.Get` which will cause it to return the deleted formation and I could then use it's updated_at? WDYT?