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

Killing the hook, will cause runCharmHook to finish executing the hook. In the same function we set ctx.pid to 0. This function (killCharmHook), is only called when using the --now flag to juju-reboot (which is blocking). This function cannot be called more then once. Once juju-reboot is called, this unit agent procedes to shut itself down, and the context in which ctx.pid is relevant ceases to exist.