WiP: Add machine reboot support

This PR adds changes in the machine agent 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
Yeah, please pull it out or this PR and do it separately. It's distinct from the rest of the code and it should (1) be done properly, for lxc and kvm, ideally in the same way; and (2) it needs its own tests.