Implements KEP 2000, Graceful Node Shutdown:
https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2000-graceful-node-shutdown
* Add new FeatureGate `GracefulNodeShutdown` to control
enabling/disabling the feature
* Add two new KubeletConfiguration options
* `ShutdownGracePeriod` and `ShutdownGracePeriodCriticalPods`
* Add new package, `nodeshutdown` that implements the Node shutdown
manager
* The node shutdown manager uses the systemd inhibit package, to
create an system inhibitor, monitor for node shutdown events, and
gracefully terminate pods upon a node shutdown.
Kubernetes-commit: 16f71c6d47843c359e78c0eea2f34814f4cf055b
Restricted policy will fail admission of guaranteed pods where
all requested resources are not available on a single NUMA Node
Kubernetes-commit: 2fb94231d0950fb0bc1d054a70f356d22e337a3e
Nit: remove capitalization of preferred
Remove line from kubelet and add to separate PR for easier merge
nit: dependency added to separate PR
Add check to ensure strict policy cannot be set without feature gate enabled
Topology Manager runs "none" policy by default.
Added constants for policies and updated documentation.
Kubernetes-commit: 705f97e171ffaf124d8709c466e42d614e8984b3
When node lease feature is enabled, kubelet reports node status to api server
only if there is some change or it didn't report over last report interval.
Kubernetes-commit: 98fc4a107a8e6da008669b2792044a154f4a75a7