Add Test for simple allocation scenario

This test checks for the "perfect" or a "sane" allocation
when the total number of shards is separable by the total number of nodes
the index can be allocated on.
Stableize SearchStatsTest after search refactoring

SearchStatsTest depends on a given set of nodes and shards. The test
needed to be adjusted to reflect a possibly random number of nodes.
Stabelize MoreLikeThisActionTest

Ensure test sends mapping with createIndex
stabelize SimpleQueryTest
Changing version semantics to be more readable

The Version class had hard to understand semantics when two versions were
compared against each other.

Sample of the new logic:
* V_0_20_0.before(V_0_90_0) => true
* V_0_90_0.after(V_0_20_0)  => true

Closes #3124
Changed Java dependency from Depends to Suggest.

Since people are using the Oracle JAVA distribution and not the OpenJDK.
You can suggest it of course. Now the installation will at least continue.

If the init script is called, it will exit with a useful error message, that
no JDK is available via the JAVA_HOME variable.
Stabeilze SearchStatsTests

Query stats are only present (not 0) on nodes that hold a shard of the index.
Fix AbstractSimpleEngineTests versioning tests.

Version is now stored on a distinct field, that AbstractSimpleEngineTests
didn't correctly add before running tests. This generated a test failure
when the version needed to be loaded from the index.
Stabelize more failing tests.

- SimpleSortTests#testSortScript which was not using the mapping correctly
- SearchStatsTests#testSimpleStats which didn't clear the stats before
  running the test and a previous run could have added queries
Fix SearchStatsTest

Use actual node in test instead of the first node in the array
More test cleanups
Fixed `has_parent` query and filter returning no results with multi level child docs.
Added a benchmark for parent/child queries while indexing at the same time.
report details if shard response has failed shards
Correct offsets in FVH also if stored field is used for highlighting

The SimpleFragemntsBuilder did not correct offsets if the used
analysis chais could produce broken offsets that could lead to
StringArrayIndexOutOfBounds Exceptions

Closes #3140
Fallback to extract terms if MultiPhraseQuery is large

Currently if MPQ is very large highlighing can take down a node
or cause high CPU / RAM consumption. If the query grows > 16 terms
we just extract the terms and do term by term highlighting.

Closes  #3142 #3128
Stabelize more tests

Wait for relocation before checking statistics or run refresh / optimze.
ChildrenQuery and ParentQuery now take into account documents that have been marked.

Closes #3144
Fixed minor issue in ASCT#indexExists(...)
Added shortcuts for several common commands

added simple way to add more complex mappings as well as shortcuts for flush
and status etc. all checking if requests return failed shards