Add more parameters to Watch

* Add labels selector (same as List)
* Add fields selector
 * Plan to let you select pods by Host and/or Status
* Add resourceVersion to let you resume a watch where you left off.
Allow more general parameters to be made by client. Also fix style and comments.
Add fake client to make testing easier.
Add WatchReplicationControllers to kubecfg's fake
Make replication controller use client
Simplify ResourceWatcher interface to one function.
Prevent accidental setting of sync or timeout
Merge pull request #805 from lavalamp/serverWatch

Improve watch