Create a configuration update utility

Extracted from proxy/config
Change proxy config to reuse util/config

Splits endpoint and service configuration into their own objects.  Also makes
the endpoint and service configuration tests correct - there was a race condition
previously that meant tests were passing but not checking correct code.
First take at architecture diagram.
Merge pull request #472 from lavalamp/dia

First take at architecture diagram.
Retry failed release downloads

gsutil cp is prone to failure during initial creation of a Kubernetes
cluster. This 'until' loop will keep trying as suggested in the 'gsutil
cp' documentation.
Add a caching minion registry.
Merge pull request #465 from smarterclayton/simplify_config_for_reuse

Extract proxy/config common functions for reuse
Answer 2 FAQs about motivations for pods.
Merge pull request #497 from bgrant0607/master

Answer 2 FAQs about motivations for pods.
Merge pull request #495 from ryfow/retry-gsutil-cp

Retry failed release downloads
Revert "Retry failed release downloads"
Merge pull request #498 from GoogleCloudPlatform/revert-495-retry-gsutil-cp

Revert "Retry failed release downloads"
Merge pull request #483 from brendandburns/health

Add a caching minion registry.
Rename kubelet_server*.go to server*.go
Merge pull request #502 from smarterclayton/rename_kubelet_server_files

Rename kubelet_server*.go to server*.go
bump(code.google.com/p/go.net/websocket): 7127eefd36d97b970f5a72d43ef5f4ecf5b1addf

Add code.google.com/p/go.net/websocket to deps.sh and run update.sh.
Add watch mechanism to apiserver

Implemented via websocket. A test is present but this isn't yet wired
into anything.

Eventual purpose of this is to allow a scheduler to watch for new pods.
Or allow replication controller to watch for new items it controlls.
Generally, it'll be good to turn everything possible into a push instead
of a poll.

Next steps will be an etcd implementation of watch.Interface...
Add straight HTTP watch ability and corrosponding test.