Internal: MulticastChannel should wait on receiver thread to stop during shutdown

This was signaled by our tests which shutdown class and check for thread leakage.

Closes #7835
Update suggesters.asciidoc

A request was malformed

Closes #7867
GeoJSON is lon,lat

Although emphasized in the text, the example was backwards.

Closes #7843
Improve sentence structure

Closes #7842
Remove comma in JSON

Closes #7827
Fix Idaho spelling

Doesn't have two `d`s.

Closes #7802
Clarify s3 snapshot compress behavior

Clarify s3 snapshot compress behavior only applies to metadata and no index files.

Closes #7654
fix concurrency bug in index throttling
Core: upgrade to Lucene 4.10.1
fix typo: sonartype -> Sonatype
Refactor the Translog.read(Location) method

It was only used by `readSource`, it has been changed to return a
Translog.Operation, which can have .getSource() called on it to return
the source. `readSource` has been removed.

This also removes the checked IOException, any exception thrown is
unexpected and should throw a runtime exception.

Moves the ReleasableBytesStreamOutput allocation into the body of the
try-catch block so the lock can be released in the event of an exception
during allocation.
Discovery: master fault detection fall back to cluster state thread upon error

With #7834, we simplified ZenDiscovery by making it use the current cluster state for all it's decision. This had the side effect a node may start it's Master FD before the master  has fully processed that cluster state update that adds that node (or elects the master master). This is due to the fact that master FD is started when a node receives a cluster state from the master but the master it self may still be publishing to other node.

This commit makes sure that a master FD ping is only failed once we know that there is no current cluster state update in progress.

Closes #7908
Fix missing import
Test: testNodeNotReachableFromMaster had a typo when choosing a non master node
Docs: added missing jdocs for the percolate client classes.

Also made constructors were possible package protected
and removed some useless getters in percolator source builder.
MLT Query: use minimum should match more extensive syntax

The minimum number of optional should clauses of the generated query to match
can now be set using the more extensive minimum should match syntax. This
makes the `percent_terms_to_match` parameter deprecated, and replaced in favor
to a new `minimum_should_match` parameter.

Closes #7898
fix removed exclude param in MLT
[TESTS] Additional logging for `testThreadedUpdatesToChildBreakerWithParentLimit`
[TEST] create client nodes using node.client: true instead node.data: false and node.master: false

Create client nodes using `node.client: true` instead of `node.data: false` and `node.master: false`.

We should create client nodes in our test infra using the `node.client:true` settings as that is the one that users use, and the one that we use as well in `ClientNodePredicate` thus we end up not finding client nodes otherwise as they weren't created with the proper setting.

Updated also the `DataNodePredicate` so that `client: true` is enough, no need for `data: false` as well.

Closes #7911
[TEST] make sure that IndicesRequestTests is repeateable using the same seed

Remove the creation of a node client if not there before each test through setup method. `numClientNodes` makes sure that the client node gets created during suite cluster initialization.