Follow-on from #1534.
Right now, the io.l5d.k8s and io.l5d.k8s.ns namers setup a watch on the List services API, which streams update events for all of the services in a given namespace. This can potentially lead to receiving a lot of events for services that Linkerd is not trying to actually route to.
As of PR #1527, we now have the ability to watch individual objects in the Kubernetes API. We should considering the Kubernetes namers to only watch the service objects to which they're trying to route, instead of watching all services in a particular namespace. This can also potentially clean up a bunch of the caching code in ServiceCache. This change will need to be rigorously tested to make sure it doesn't introduce any regressions in the namer.