Make container lookup in the Kubelet cleaner

Reduce duplicate calls to list lookups for parallel go routines.
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.
Merge pull request #469 from smarterclayton/unify_container_lookup

Make container lookup in the Kubelet cleaner
First take at architecture diagram.
Merge pull request #472 from lavalamp/dia

First take at architecture diagram.
Merge pull request #465 from smarterclayton/simplify_config_for_reuse

Extract proxy/config common functions for reuse
Slow down proxy config file errors

If /tmp/proxy_config doesn't exist, kube-proxy was burning cpu cycles
like it's going out of style.