Add restore worker

A restore worker was added to keep track of restore status.
It is to be used for the MachineAgent in cmd/jujud to know when to
restrict login and for the final step of restore to communicate
a succesful run.
If you can move this up and return early, you can outdent the rest of the code, and it'll be a lot easier to read.