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.
Well, part of the goal (and some of Tims comments touch on this) were that having all the goroutines here improves readability since you can see what's going on in a single place.  The sync loop actually needs to move into podconfig in some form in order to offer the right behavior (if no update in X seconds, resync), but I had planned to do that as a follow up.  I guess at the end of the day launching goroutines seems like a consumers choice, and putting it in new takes that choice away.  It's not a strong objection, just a point of view.

Is moving the Sync goroutines into podconfig enough?