Add initial lifecycle and hooks into kubelet.

People internally use shutdown notification to do important cleanup, I think fairly commonly. We have a configurable time limit. I'm not saying you should make it configurable with this change, but I think it's very important that the scripts know what their time limit is.