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, this is another one of those things that made me twitch, but wanted someones input. Writting the state on disk, and clearing the flag on startup (as well as destroying the lock) will make things more clear. i am just a bit worried about situations where an agent restart might be interpreted as a reboot and mess things up (stale "reboot state").