Cleaning up container ID handling inside kubelet

This touches a lot of stuff, so I'd appreciate a careful review & comments!

In  another PR, I'd like to improve the /containerInfo and /containerStats interface. I maintained the previous behavior of passing a manifest/pod id (which really ends up being a substring match in the mangled docker name!). This seems to fall short since a manifest/pod can container multiple containers.
Yeah, I think that's totally doable. It'll take a few type conversions scattered all over since the Docker api deals with strings.  Let me see how invasive this becomes.  If it's nasty, I might propose that I do it in another PR.