improve error reporting for bad templates
add existence func and unit test
fix update.sh
Merge pull request #3141 from lavalamp/optimize

Fix e2e; add template function to make this possible
add contrib/dns/MAINTAINERS
Add kubelet DNS flags & api disable for DNS

This adds --cluster_dns and --cluster_domain flags to kubelet.  If
non-empty, kubelet will set docker --dns and --dns-search flags based on
these.  It uses the cluster DNS and appends the hosts's DNS servers.
Likewise for DNS search domains.

This also adds API support to bypass cluster DNS entirely, needed to
bootstrap DNS.
Use a helper bridge between k8s and SkyDNS

Rather than have to keep SkyDNS up to date with Kubernetes, use a
buddy-container "kube2sky" to watch kubernetes and sync Service records
into etcd for SkyDNS ot find.  This also adds namespace support.
Make DNS an option for cluster turnup
Split portals into host and container

After this DNS is resolvable from the host, if the DNS server is targetted
explicitly.  This does NOT add the cluster DNS to the host's resolv.conf.  That
is a larger problem, with distro-specific tie-ins and circular deps.
Use a kubernetes-hosted minimal container for skydns
Add an e2e test for DNS from pods.