[TEST] Add basic upgrade test script

This commit adds a basic full cluster restart upgrade script that tests
upgrades of elasticsearch across major version. In contrast to the BWC
tests we are running using the java test framework this test uses a python
script as well as the REST APIs to ensure upgrades across major version work and
indices are compatible.

The upgrade test starts 2 or more nodes of an old elasticserach version, indexes
a random number of documents into the running nodes and executes a full cluster restart.
After the nodes are recovered a small set of basic checks are executed to ensure all
documents are still searchable and field data can be loaded etc.

Closes #7074
[TESTS] Don't create an unclosed threadpool in BigArraysTests.
[TEST] wait for yellow after index was created in BWC tests
[TEST] Make default flush opertion blocking
[TEST] Pick random version from backwards directory

The upgrade tests required to specify the lower and the upper version
that it should run against. This commit adds support for random picks
if either the lower or the upper or both are not specified.
Test: finish all merges before test returns to side step 'Delete Index failed - not acked' failure
[TEST] randomize byte size and thread count in breaker tests
Packaging: Dont remove ancestors on deb removal

The used -p option could result in accidentally deleting more directories
than /var/lib/elasticsearch - so this option was removed

Note: This only happens if the directories are empty, but still isnt needed.

Relates #5770
Term Vectors API: adds support for wildcards in selected fields

This could useful to generate all term vectors or a chosen set of them.

Closes #7061
[TEST] Rest API: cat.count regexp matchers now explicitely test for newline
Docs: Fix syntax on lang-analyzer

Some of the language analyzer documentation contained invalid json.

Closes #7098
[TEST] Concurrent percolation more randomized + safe use of rand
Rewrote post-filter.asciidoc

Closes #5166
Update translog.asciidoc

Documented `index.gateway.local.sync`
[BUILD] Add profile that skips all validations

This commit adds a profile that skips all validation ie.
 - nocommit / tabs checking
 - forbidden API checks
 - license headers

It's not active by default but can easily be activated with
  `mvn -Pdev` or in the `~/.m2/settings.xml`

for reference see:
  http://maven.apache.org/guides/introduction/introduction-to-profiles.html
[TEST] Increased logging and make use of prepareCreate and assertAcked
[TEST] All shards should be allocated before snapshotting & restoring
Add tests for corrupted translog files
WIP for where to read and write translog header
make the recovery translog rename retries into a constant instead of a
magic number