Add watch capability to our client.

Next steps: Make an etcd watcher... decide on a state field for pods...
move the scheduler to its own binary.
Split httpWatcher into watch.StreamWatcher and tools.APIEventDecoder.
Refactor Kubelet config sources for clarity

Create a new "Pod" concept which can identify pods from
many config sources.
Switch the Kubelet to use kubelet/config

Also transfer the Kubelet from using ContainerManifest.ID to source specific
identifiers with namespacing.  Move goroutine behavior out of kubelet/ and
into integration.go and cmd/kubelet/kubelet.go for better isolation.
Merge pull request #356 from smarterclayton/refactor_config_sources

Use config sources for Kubelet, switch to podFullName
integrate minion health checking and caching.
Merge pull request #555 from smarterclayton/health

integrate minion health checking and caching.
Merge pull request #505 from lavalamp/clientWatch

Add client watch capability