Private kubelet

Make kubelet struct members private.  Create factory functions for initializing Kubelet when used outside the kubelet package.
The way New() is used in kubelet_test.go, it gets a lot more verbose if I do what you suggest.   So, I suggest keeping the no arguments New().  If I renamed New() to NewUnittestKubelet, or something, would that be satisfactory?