[SEARCH] close active contexts on SearchService#close()

When we close a node all pending / active search requests need to be
cleared otherwise a node will wait up to 30 sec for shutdown sicne there
could be open scroll requests. This behavior was introduces in 1.5 such that
versions <= 1.4.x are not affected.

Closes #8940
Default _cat APIs to verbose

`?v=false` can be used if the headers are not desired.

Resolves #8922

Fixes #8927
Discovery: concurrent node failures can cause unneeded cluster state publishing

When a node fails (or closes), the master processes the network disconnect event and removes the node from the cluster state. If multiple nodes fail (or shut down) in rapid succession, we process the events and remove the nodes one by one. During this process, the intermediate cluster states may cause the node fault detection to signal the failure of nodes that are not yet removed from the cluster state. While this is fine, it currently causes unneeded reroutes and cluster state publishing, which can be cumbersome in big clusters.

Closes #8804
Closes #8933
Docs: Adding REST ACL plugin

Closes #8925
Update percolate.asciidoc

Updating the `associated` spelling

Closes #8907
Docs: fix a typo in cluster stats documentation example

Closes #8898
[CORE] Remove IndexEngine

IndexEngine was an abstraction where we had index-level engines (instead
of shard-level) that could store meta information about the index. It
was never actually used by Elasticsearch, and only there for plugins.

This removes it, because it is a confusing abstraction and not needed,
no plugins should be implementing their own IndexEngines.
Refactor InternalLock and SearchFactory out of InternalEngine
Pass in warmer and similarity service, instead of retrieving them from engine
WIP add of ShadowEngine