WiP: Added apiserver endpoint for reboot

This is the second 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 branch depends on: https://github.com/juju/juju/pull/707
reviewers note: normally this is correct, however the API is weird. We use ErrPerm to obscure errors in an undefined set of circumstances that appear to be defined post facto. In this case I think what has been written is correct based on patterns in other api methods. 

I believe the underlying motivation is retrun ErrPerm when the entity supplied is not correct in some way, in an effort to confound brute force probing of the API.

None of this is documented by the way.