Ensure pod and manifest have a UUID in apiserver

Also has replication controller allow apiserver to automatically assign a UUID

Continues #253 and #199
The purpose of the Manifest.ID field: I added it a month or so ago because some sources don't provide kubelet with a pod, and kubelet needed some way to identify the collection of containers. I hope we can get rid of it and just use Pod.ID, but until then, I'd like it to be == Pod.ID. So in short, it's a historical accident.

I think we do need to track the thing you're saying (did a rep. controller make this pod?), but I want to do it by setting an attribute (e.g., source="controllerID"), not by duplicating an ID around.