[DOCS] Typo on shingle tokenfilter
Removed needless concreteIndices call, already called in doExecute and set to the request object
Refactored indices aliases api to make use of the new recently introduced generic ack mechanism
Refactored open/close index api to make use of the new recently introduced generic ack mechanism
Refactored delete index api to make use of the new recently introduced generic ack mechanism

Side note: the double notification from each node (one after deleting from metadata, one after deleting from file system) that was in place is not needed anymore, as each node returns the ack in the clusterStateProcessed, which gets called after all the listeners (one of which actually deletes from file system)
Refactored put mapping api to make use of the new recently introduced generic ack mechanism
Refactored create index api to make use of the new recently introduced generic ack mechanism
Introduced metadata service for cluster reroute, cluster update settings, put warmer and delete warmer

Helps consistency between the different apis that modify the cluster state and support acknowledgements
Strengthen the acknowledgement api and cluster state update operations

Introduced TransportClusterStateUpdateAction base class that extends TransportMasterNodeOperationAction to remove boiler plate code from all subclasses. Introduced abstract ClusterStateUpdateActionListener class that implements ClusterStateUpdateListener.

Made AckedClusterStateUpdateTask an abstract class and added its default subcass that is used in most of the cases (AckedDefaultStateUpdate) unless a specific ClusterStateUpdateResponse subclass (that holds more than the only acknowledged flag) is needed. This allowed to remove boiler plate code from all MetaDataServices (onResponse, onTimeout, ackTimeout, masterNodeTimeout, onFailure and so on)

Forced also implementing toString on all ClusterStateUpdateRequest, used for logging (debug level on the action package) in case something goes wrong updating the cluster state. Previously only some of the apis did this.

The only api that hasn't been fully migrated yet is the delete index api (TransportDeleteIndexAction doesn't subclass yet TransportClusterStateUpdateAction) as it supports multiple indices but submits a different cluster state update per index. We might wanto to keep it like this for now as it also locks the index during the delete operation.
Moved ClusterStateUpdate(Request|Response|Listener|ActionListener) to action.support.master package