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
So are you assuming when we do another cluster sync we will first reset the schedulers job / formation map? Otherwise there would be no lookup right?