Internal: split internal free context request used after scroll and search

We currently use the same internal request when we need to free the search context after a search and a scroll. The two original requests though diverged after #6933 as `SearchRequest` implements `IndicesRequest` while `SearchScrollRequest` and `ClearScrollRequest` don't. That said, with #7319 we made `SearchFreeContextRequest` implement `IndicesRequest` by making it hold the original indices taken from the original request, which are null if the free context was originated by a scroll or by a clear scroll call, and that is why original indices are optional there.

This commit introduces a separate free context request and transport action for scroll, which doesn't hold original indices. The new action is only used against nodes that expose it, the previous action name will be used for nodes older than 1.4.0.Beta1.

As a result, in 1.4 we have a new `indices:data/read/search[free_context/scroll]` action that is equivalent to the previous `indices:data/read/search[free_context]` whose request implements now `IndicesRequest` and holds the original indices coming from the original request. The original indices in the latter requests can only be null during a rolling upgrade (already existing version checks make sure that serialization is bw compatible), when some nodes are still < 1.4.

Closes #7856
Test: ClusterServiceTests.testLocalNodeMasterListenerCallbacks - increase ping timeout

was 200ms, now 400ms
Core: upgrade to Lucene 4.10.1 snapshot

Lucene will soon release official 4.10.1, but by upgrading sooner we can 1) sidestep the false failures due to the 1.8.0_20 JVM hotspot bug (has caused a number of false failures in recent Jenkins tests), 2) make sure none of the Lucene changes in 4.10.1 are problematic.

Closes #7844
Revert Lucene upgrade
Core: try again to upgrade to Lucene 4.10.1-snapshot
Docs: Typos on range filter

Closes #7713
Docs: Update thrift.asciidoc

Fix typos, add clarifications and link.

Closes #7678
Docs: Update update.asciidoc

Closes #7498
Update upgrade.asciidoc

Fix markup bug and change "deb" to "dpkg". (Package manager called dpkg, not deb in Debian distribution)

Closes #7748
Docs: Mention that that p/c queries and filters do not work in the delete-by-query api.
MLT Query: fix percent_terms_to_match

The parameter `percent_terms_to_match` (percentage of terms that must match in
the generated query) was wrongly set to the top level boolean query. This
would lead to zero or all results type of situations. This commit ensures that
the parameter is indeed applied to the query of generated terms.

Closes #7754
[CORE] Add ThreadPool.terminate to streamline shutdown

Shutting down threadpools and executor services is done in very similar
fashion across the codebase. This commit streamlines the process by
adding a terminate method to ThreadPool.
[TEST] Reenable threadleak filters with 5 sec. lingering
[TEST] add regular scroll REST test

Closes #7860
Add a listener thread pool
Today, when executing an action (mainly when using the Java API), a listener threaded flag can be set to true in order to execute the listener on a different thread pool. Today, this thread pool is the generic thread pool, which is cached. This can create problems for Java clients (mainly) around potential thread explosion.
Introduce a new thread pool called listener, that is fixed sized and defaults to the half the cores maxed at 10, and use it where listeners are executed.
relates to #5152
closes #7837
[TEST] improved regular scroll REST test

The intermediate document that gets indexed has now a non existing id, and we make sure it doesn't get returned.
[TRANSPORT] never send requests after transport service is stopped

With local transport or any transport that doesn't necessarily send
notification if connections are closed we might miss a node
disconnection and the request handler hangs forever / until the timeout
kicks in. This window only exists during shutdown and is likely
unproblematic in practice but tests might run into this problem when
local transport is used.
Aggs - support for arrays of numeric values in include/exclude clauses

Closes #7714
[TEST] improved regular scroll REST test

Added sort clause by field and checked docs returned each time
Update getting-started.asciidoc

zip and tar is archive, deb and rpm is package.

Closes #7749