WiP: Added reboot api client 

This is the third pull request for the reboot implementation. Please note that this is still a Work in Progress and a followup commit will be done for cleanup.

This PR depends on:

https://github.com/juju/juju/pull/707
https://github.com/juju/juju/pull/728
Wow, this is a huge test. It really needs to be broken up into smaller tests, all of which test one thing