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
Retrieve machine spec from cAdvisor
Merge pull request #491 from monnand/cadvisor-update-3

Retrieve machine spec from cAdvisor
Fork API types.