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, it is a bit strange, but at this point, the intended effect is that any of these errors should instruct the machine agent to exit without an error. We don't want the service manager to restart the unit/machine agent because it sees an error status and "respawn" is used.