Add container hashing to the container name, and restart containers on changes.

Closes https://github.com/GoogleCloudPlatform/kubernetes/issues/677
This whole scheme makes me die a little inside every time I see it (and I'm partly responsible for it). Can we add this all to a struct, encode with gob (for brevity), base64 encode it, and use that as the name? That would get rid of this nonsense at the expense of human readable docker container names.