k8s: watch for all pod events until kvstore connectivity
k8s: watch for all pod events until kvstore connectivity

As cilium requires pod events from all cluster so it can populate the
ipcache correctly it needs to watch for pod events from k8s. However,
this is only required to be done until cilium has kvstore connectivity
for which it can cancel the pod watcher for all pods in the cluster and
start watching for pod events for the node where cilium is running.

Cilium still needs to watch for pod events in the node where it is
running as it needs to know if a pod changed its labels. For the pod
events belonging to other nodes ipcache entries will be synchronized
based on the kvstore watchers setup for this porpuse. If the kvstore
connectivity is lost, cilium will start watching for pod events for all
pods in the cluster again.

Signed-off-by: André Martins <bc9800b9d52a24cce72a73dd528afed53f10e5fc@cilium.io>

tgraf/cilium,michi-covalent/cilium,cilium-team/cilium,michi-covalent/cilium,tklauser/cilium,tgraf/cilium,cilium/cilium,tgraf/cilium,cilium-team/cilium,cilium/cilium,tklauser/cilium,cilium/cilium,tgraf/cilium,michi-covalent/cilium,tgraf/cilium,michi-covalent/cilium,michi-covalent/cilium,tklauser/cilium,tklauser/cilium,tgraf/cilium,tklauser/cilium,cilium/cilium,cilium/cilium