Tests: Add assumption to restrict upgrade test from running against
invalid backcompat versions.
Throw parsing exception if terms filter or query has more than one field

Closes #5014
Admin: Fix upgrade logic to work on lucene major version differences.

Also improved upgrade tests, and added test against static ES 0.20 index
which used Lucene 3.6.

closes #8013
Temporarily ignore 0.20 upgrade test until it can be made less flaky.
[TEST] Remove explicit network mode - not needed here
Logging: add shard id to logging in InternalIndexService.removeShard
Test: re-enable testUpgrade_0_20
[CORE] Simplify discovery node initialization if version is unknown

Today it's easy to use the wrong version when initializing DiscoveryNode
instances. This commit adds javadocs and a utility constant to
initialize DiscoveryNode instances if the the remotes node version is
unknown.

Closes #8051
Doc: Clarify that index.routing.allocation.total_shards_per_node means both primary and replica shards
Closes #8002
Clear the GroovyClassLoader cache before compiling

Since we don't use the cache, it's okay to clear it entirely if needed,
Elasticsearch maintains its own cache for compiled scripts.

Adds loader.clearCache() into a listener, the listener is called when a
script is removed from the Guava cache.

This also lowers the amount of cached scripts to 100, since 500 is
around the limit some users have run into before hitting an out of
memory error in permgem.

Fixes #7658
[CORE] Remove leftover unused constants
Tests: Add more logging to ExistsMissingTests.
Docs: Update object-type.asciidoc to make object type more explicit

Closes #7646
Internal: Fix serialization of PendingClusterTask.timeInQueue.

This parameter is serialized as a vLong while it could sometimes be negative.

Close #8077
Docs: Added elasticsearch-dsl-py

Closes #7812
Closes #7813
fix mismatched curly bracket
Docs: Fix (another) Idaho spelling

Closes #7912
Test: make test less evil to not cause OOME
Update completion-suggest.asciidoc

Documented the `size` parameter in the completion suggester query
[CORE] Be more explicit if index.version.created is not set

Today we use the current version which might enable features that are
not supported. We should throw an exception if this setting is not
present for any index.

Closes #8018