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.
Update salt config for apiserver to support Azure.
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
Add gce grain to salt config, change apiserver salt config.
HandleIndex when URL.Path == "/"
Make Kubelet type members private and provide New functions.
Merge pull request #562 from dchen1107/cleanup

Fixed kube-up.sh to point to the right place.
Some examples don't pass Manifest validation
Kubelet etcd watch skipping indices

The next index to watch should always be current+1 if we got a
response from etcd, but otherwise it should always be current.
Moved the increment into fetchNextState which returns the next
index to watch for (or the same if an error occurs)
kubecfg doesn't allow updates because of path checks

Check for 1 path segment on create/list, 2 on update/delete, and
allow any number of path segments on get (for now).

Also pretty prints the list of actual types that are supported for
create/update, which today corresponds to the list of types that
are supported period.
Merge pull request #568 from smarterclayton/update_examples

Some examples don't pass Manifest validation
Merge pull request #570 from smarterclayton/kubecfg_cant_update

kubecfg doesn't allow updates because of path checks
Merge pull request #569 from smarterclayton/fix_bad_watch_in_etcd

Kubelet etcd watch skipping indices
Merge pull request #551 from erictune/private_kubelet

Private kubelet