Check accepts docs before MatchDocIdSet#matchDoc(int)

We currently ask `MatchDocIdSet#matchDoc(int)` before consulting
the accept docs. This can also have a negative performance impact
since `matchDoc(int)` calls might be way more expensive than
acceptDocs calls.

Closes #6234
Add dummy docs injection to indexRandom

This commit add `dummy docs` to `ElasticsearchIntegrationTest#indexRandom`.
It indexes document with an empty body into the indices specified by the docs
and deletes them after all docs have been indexed. This produces gaps in
the segments and enforces usage of accept docs on lower levels to ensure
the features work with delete documents as well.
Register uppercase as an exposed ES token filter.

Just follow "lowercase" token filter example and register "uppercase" token filter as an exposed token filter. This will not, by itself, test whether ES is correctly handling "uppercase" TF; this is more of a "code as documentation" fix.
Do not throw execption on no available nodes when listing benchmarks.

Changed behavior to not throw an exception on a status request
when there are no available benchmark nodes.

Closes #6146
Upgrade to Lucene 4.8.1

This commit upgrades to the latest Lucene 4.8.1 release including the
following bugfixes:

 * An IndexThrottle now kicks in when merges start falling behind
   limiting index threads to 1 until merges caught up. Closes #6066
 * RateLimiter now kicks in at the configured rate where previously
   the limiter was limiting at ~8MB/sec almost all the time. Closes #6018
Added Version [1.3.0]
Remove obsolet ASF repository Lucene 4.8.1 is on maven central
CharArraySet doesn't know how to lookup the original string
in an ImmutableList.

Closes #6237
[TEST] Provide overloaded indexRandom to opt out of dummy documents
[TEST] Opt out of dummy documents where scores are relevant.
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