Uniter API now has WatchActions

This commit adds state/api and state/apiserver endpoints for
WatchActions.
My assumption here is that methods such as SetCharmURL and Unit.accessUnit are suitably tested in their respective packages; apiservertesting.ErrUnauthorized is the error which should result from an unauthorized Watcher query.  Perhaps @johnweldon would have some input here however since we are cooperating on the Watcher code.  I'm simply not seeing where to exercise errors here or what sorts of errors I can expect from the Watcher, since this is in reality simply an API call to the method on State.  The WatchActions method on State is, I believe, adequately tested.