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
You can't just return result.Error here (and below in other places). It needs to be like this, otherwise you'll get false nil comparisons:

	if result.Error != nil {
		return result.Error
	}
	return nil