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

You're relying on the fact that sending Kill to an already dead process will error out - so an error here means that the Kill succeeded! (getProcess won't actually return nil). Worth a comment.