Watch improvements.

Net result is that /pods now supports watch.

It might be easiest to review this commit-by-commit.

It should be easier to write tests for our watches after this.
consider making a 
var acceptAll = func(obj interface{}) bool  { return true }

and using that here (and elsewhere) for clarity.