WiP: Add uniter changes to support reboot

This PR adds the uniter changes needed to support reboot.

Depends on:

https://github.com/juju/juju/pull/707
https://github.com/juju/juju/pull/728
https://github.com/juju/juju/pull/744
https://github.com/juju/juju/pull/782
https://github.com/juju/juju/pull/833

In some situations a process will refuse to die even when killed forcefully. we could remove the timeout, but we will risk hanging here forever. a hook that is waiting to be killed (juju-reboot blocks untill this happens) should never take more then 30 seconds.