[TEST] added sort by "_id" when score is the same to MultiMatchQueryTests#testEquivalence

A merge (and refresh) might rarely happen in the background between the two queries whose output is compared. It might then happen that two docs with same scores get returned by the two queries in a different order due to different lucene document id (which has changed in the meantime). To fix this we need to order by id when the score is the same, so that we can safely compare the output of the two queries (multimatch and dismax).
Moved the updateMappingOnMaster logic into a single place.

Closes #5798
[TEST] _id is not indexed by default, sort on score,_uid in MultiMatchQueryTests
Removed leading spaces on commented config key lines in elasticsearch.yml
Author: Sean Gallagher
Date: 17 Apr 2014 16:18 EDT

Removed spaces on commented lines containing config key entries to prevent
users from inadvertently messing up the indents in elasticsearch.yml.
Closes #5842
[TEST] Make InternalEngineMergeTests more stable
Fail replica shards locally upon failures

When a replication operation (index/delete/update) fails to be executed properly, we fail the replica and allow master to allocate a new copy of it. At the moment, the node hosting the primary shard is responsible of notifying the master of a failed replica. However, if the replica shard is initializing (`POST_RECOVERY` state), we have a racing condition between the failed shard message and moving the shard into the `STARTED` state. If the latter happen first, master will fail to resolve the fail shard message.

This commit builds on #5800 and fails the engine of the replica shard if a replication operation fails. This protects us against the above as the shard will reject the `STARTED` command from master. It also makes us more resilient to other racing conditions in this area.

Closes #5847
Upgrade to mvel 2.2.0.Final
closes #5877
Update forbidden-apis to 1.5.1 and remove the relaxed missing classes error.
[Test] Let SuggestStatsTests.testSimpleStats do more work

The test verifies that stats are measure by checking timeInMillis>0. On fast machines the suggestions are done in < 1 millis time. The tests now index documents (to power suggestions) and does multiple suggestions per iterations to slow things down.
[DOCS] fix typo
Update function-score-query.asciidoc
[Tests] SimpleRecoveryLocalGatewayTests.testSingleNodeNoFlush could fail if shards were not started

The test starts a single node, indexes into, restarts the node and checks that no data was lost. It only indexed into 2 shards and didn't wait for green meaning that the node could be restarted with non-started primary. In that case the node will not re-assign the primary as it was not started. This commit makes sure that we either wait for primaries to start or index into all shards which has the same net effect.

Also extending some logging in InternalIndexShard.
Update benchmark.asciidoc
Searcher might not be closed if store hande can't be obtained

Today we first get a reference to the IndexSearcher in #acquireSearcher
and then futher down we try to run Store#incRef() which might throw an
exception if the store is already closed. There is a small window
that allows this to happen during InternalEngine#close() when we try
to acquire the searcher at the same time and the engine is the last
resource that holds a reference to the store.

This commit only affects unreleased code since the Store's ref counting
has not yet been released.
Use loopback when localhost is not resolved
we use the "local host" address in sevearl places in our networking layer, if local host is not resolved for some reason, still continue and operate but using the loopback interface
[TEST] make fetch time in millis test more resilient
 beef up the fetch work, and increase teh number of iterations (since we count in nanos, but reports in rounded millis)
Bug fix for hung clients on cluster without benchmark nodes

This is a fix for a bug whereby a cluster that has no nodes started with
-Des.node.bench=true will cause clients to hang if they attempt to
submit a benchmark.

Also adds REST tests to validate fix

Closes #5754
Return valid empty JSON response when no recovery information

This is a fix to send back to the client a valid empty JSON response in
the case when we have no recovery information.

Closes #5743
[TEST] Added blacklist to be able to skip specific REST tests

The blacklist can be provided through -Dtests.rest.blacklist and supports a comma separated list of globs
e.g. -Dtests.rest.blacklist=get/10_basic/*,index/*/*

Also added some missing docs and made it clearer that the suite/test descriptions effectively contains their (relative) path (api/yaml_file/test section)

Closes #5881
[TEST] Remove ambigious 4th suggestion - order differs slightly on Java 8