Use config sources for Kubelet, switch to podFullName

As discussed in #297 and also a side discussion about abstracting the Kubelet from being directly dependent on etcd, start refactoring config service to decouple sources of config from sync loop and switch from Manifest.ID -> Pod Full Name in the Kubelet.

Simplifies the Kubelet Run() step by requiring configuration to be defined up front, and an update channel passed into the Kubelet.
I think the refactor would be valuable if there were a context in which you'd use the server separately from having it listen - possibly by adding these methods to another handlerMux.

Also - would it be an obvious refactor if someone needed it?  Not opposed to the comment, just want to understand the intent.  Be more idiomatic?