WiP: initial reboot worker and uniter

This is the final PR for the reboot functionallity. It add a Reboot worker that waits for the machines reboot flag to be changed, and reacts. It also adds the tool to trigger the reboot.

 The juju-reboot command has only one option

To trigger a reboot immediately, use:

```shell
juju-reboot --now
```

This will block untill the unit agent kills the hook invoking this tool. If ```--now``` is used, the hook calling this tool will be requeued. Omitting this flag, will allow the hook to finish and only then reboot.

This branch depends on:

https://github.com/juju/juju/pull/707
https://github.com/juju/juju/pull/728
https://github.com/juju/juju/pull/744
do we need to bother with this? I think it's just more moving parts that'll need to be changed when we move workers around. The units should be fine to be restarted anyway, so long as they're not actively running something (which they're not, because we're holding the lock).