Uniter API now has WatchActions

This commit adds state/api and state/apiserver endpoints for
WatchActions.
As noted further down, I don't think we have a test for initial events. Testing subsequent events by pulling the watcher out of resources and checking it's active -- as you already did -- is fine, so we don't need to muck about with calling Next() methods for further verification of the later events, but initial events do need tests.

Look at it this way: is there a test that would fail if you reinstated the `_, ok := watcher.Changes()` problem we caught yesterday? If not, we need one.