Honor time delay when retrying recoveries

In some places we want to delay the start of a shard recovery because the source node is not ready to receive. At the moment the retry logic ignores the time delay parameter (`retryAfter`) causing a busy waiting like scenario. This is fixed in this commit.

Closes #6226
Before deleting a local unused shard copy, verify we're connected to the node it's supposed to be on

This is yet another safety guard to make sure we don't delete data if the local copy is the only one (even if it's not part of the cluster state any more)

Closes #6191
Add ability to snapshot replicating primary shards

This change adds a new cluster state that waits for the replication of a shard to finish before starting snapshotting process. Because this change adds a new snapshot state, an pre-1.2.0 nodes will not be able to join the 1.2.0 cluster that is currently running snapshot/restore operation.

Closes #5531
[TEST] Disable dummy documents for QueryRescorerTests#testEquivalence
Benchmark abort accepts wildcard patterns

This adds support for sending a list of benchmark names and/or wildcard
patterns when submitting an abort request. Standard wildcards such as:
"*", "*xxx", and "xxx*" are supported. Multiple benchmark names and
wildcard patterns can be submitted together as a comma-separated list
from the REST API or as a string array from the Java API.

Closes #6185
Don't use AllTokenStream when no fields were boosted

AllTokenStream, used to index the _all field, adds some overhead, but
it's not necessary when no fields were boosted or when positions are
not indexed the _all field.

Closes #6187 Closes #6219
[TEST] Allow to disable plugin loading from classpath
[TEST] Wait for all benchmarks to be started if more than one is used
Verify that the current node is still master before the reroute is executed and if that isn't the case skip reroute
Invoke listener when reroute fails.

Closes #6244
[TEST] skip benchmark tests for now
add thread-local utility class to do docid + version lookups
cutover to normal hash map, use reader closed listener to remove