explicitly enable http when running plugin tests

add an option to force a setting when building a node, overriding if its explicitly set as system property
Also resend shard started message if shard state is in POST_RECOVERY and master thinks it's initializing.

Closes #4009
Add back hashed BytesValues optimization that got lost in a previous commit.

Some FieldData consumers require hash values per byte. We provide an optimization
that allows to cache the hashes internally if the consumer knows that they are needed
this optimization got lost in a previous commit. This commit adds them back and folds
the dedicated method into AtomicFieldData#getBytesValues(true|false)
minor improvement to FullRollingRestartTests failure output
throw index already exists failure when it exists as alias on creation
make sure to throw the already exists exception, so when indexing into an alias, and it has not propagated yet through the cluster state, it will end up being ignored if it already exists
[DOCS] Fixed a typo
[DOCS] Added a version flag to percolation
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