Add ActionWatcher on state

First part of adding Action Watchers. Start with state package and will move on to api and apiserver packages next.
Few more tests please -- doesn't need to be much, just a check that we do coalesce multiple actions; and for that matter (since you've written the code) a test that you don't report an action that gets added and completed in between reads from the out chan.