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
well, the timeout differs based on level. If we need to reboot on lvl 0, and we have 2 more layers of containers above us, how long do we wait? How long do containers on lvl 1 wait for the ones on lvl 2 to stop?