Refactor kubelet access and add SSL

Overall goal of this is to add a way to configure ssl mutual auth for connections with the kubelet server. In order to do so, this tries to pull together the different places in the APIServer that access the kubelet, and add a single set of flags for configuring both port and ssl.

I'm fairly new to golang (and the k8s codebase), comments on everything extremely welcome.
Is this redundant now?