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
I realise the style of tests here have been copied from elsewhere, but all the tests on this suite are not client tests - they belong server side in the relevant sub package under apiserver.
Since this is new code, we should now look to start doing things the preferred way. There's been a couple of emails to juju-dev recently where people have described new api testing infrastructure.