Core: allow index.merge.scheduler.max_thread_count to be updated dynamically

Lucene allows the max_thread_count to be updated, but this wasn't
fully exposed in Elasticsearch.

Closes #6925
Test: make sure randomizer doesn't swap in SerialMergeScheduler on us
Fix connect concurrency, can cause connection nodes to close
Looking at the connect code, if 2 threads at the same time try and connect to a node, and both enter sequentially the connectLock code block, the second one would try and put the connection in the map, and close the replaced channels, which will cause the existing connection to close as well (since it removes the node from the connectedNodes map)
To fix this, simply make sure we properly check the existence of the connection within the connectionLock block, so there won't be concurrent connections going on.
While doing this, also went over all the mutation code that handles disconnections, and made sure they are properly done only within a connection lock.
closes #6964
Unicast discovery: only disconnect from temporary connected nodes
In unicast discovery, we try to reuse existing discovery nodes based on the node address they have. If we find an existing node based on its address, and for some reason its not connected, don't add it to the list of nodes to disconnect from, as that (full) connection is useful down the road
closes #6966
[TEST] Add simple sort assertions for bwc tests

Today we only do count searches to ensure sane results are returned
after upgrading etc. This change adds sorting to the picture asserting
on simple numeric sorting that uses field data etc. after upgrading.

Relates to #6967
PhraseSuggester: Collate option should allow returning phrases with no matching docs

A new option `prune` has been added to allow users to control phrase suggestion pruning when `collate`
is set. If the new option is set, the phrase suggestion option will contain a boolean `collate_match`
indicating whether the respective result had hits in collation.

CLoses #6927
Core: Drop UnsafeUtils.

This class potentially does unaligned memory access and does not bring much
now that we switched to global ords for terms aggregations.

Close #6962
Make _all field accessible with GET

GET only returned null even when stored if requested with GET like this:

`curl -XGET "http://localhost:9200/test/test/1?fields=_all"`

Instead, it should simply behave like a String field and return the
concatenated fields as String.

closes #6924
Build: Remove UnsafeUtils from forbidden-apis exclusion list.
[TEST] Add test for _score and doc[] access in Groovy scripts
Docs: Added Tiki Wiki integration

Closes #6746
Docs: Added Tiki Wiki integration

Closes #6746
Docs: Change public signing key instructions to work with sudo

Closes #6823
Test: add more verbosity when this test fails
Test: make test less evil
[TEST] Maven reproductions should always include 'clean' target
Docs: Made current version, branch and jdk into asciidoc attributes
Core: don't load bloom filters by default

This change just changes the default for index.codec.bloom.load to
false: with recent performance improvements to ID lookup, such as
#6298, bloom filters don't give much of a performance gain anymore,
and they can consume non-trivial RAM when there are many tiny
documents.

For now, we still index the bloom filters, so if a given app wants
them back, it can just update the index.codec.bloom.load to true.

Closes #6959
Docs: typo

example fails in bash

Closes #6977
Merge branch 'master' into sortednumerics