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

os.FindProcess calls os.findProcess, which sets an error only on windows from what I can see (os.SyscallError). On unix it just returns os.newProcess(pid), nil. So there is only one possible error that can occur here. Not sure its worth testing for the type. Thoughts?