Fix build/job restart logic and accept a restart event from the worker

* renames `requeue` to `restart`
* renames the `request:restart` service to just `reset_model` (since it's not about requests any more)
* makes `restart` a proper event on the `Job` and `Build` models
* makes sure that after a `restart` event `job:created` and `build:created` events are send through Pusher so that the queues and build/repo state will be updated
* now also accepts a `reset` event on the `update_job` service (so that workers can reset jobs)

I've tested the restart build/job stuff on staging and it looks good. Api and web need to be deployed for this. For accepting `reset` events from the worker hub needs to be deployed.

/cc @joshk