add decommission() method to Node and LifecycleComponent
implement full node deallocation
add disabled Lifecycle State
disable node if graceful_stop is_default
integrate deallocator in node.disable()/stop()
support graceful_stop.force setting in disable()

also removes graceful_stop.is_default as it cannot be
supported due to the limitation that jvm shutdown hooks
cannot be aborted.
make Deallocators aware of running deallocations
implemented primaries deallocation
verify min availability and and implement reallocate setting
added ES license headers
add graceful_stop settings as dynamic cluster settings
added more tests
ensure changing and resetting allocation.enable during deallocation
only wait 5 seconds max. for open connections
add lifecycle disable checks

where a check for 'not stopped' was intended
use lowercase settings in deallocators
exclude all zero replica indices

on primaries deallocation
exclude new indices in primaries deallocation
exclude all new indices from the deallocation node

during primaries deallocation as the new indices will have no replicas allocated
linearize cluster updates and refactor Deallocators