[BUILD] Add BWC tests to release script

This commit adds the ability to run bwc tests during the release
process to ensure the current release is backwards compatible with
the latest installed previous version. Installed means available
in the configured bwc test path.

Closes #6953
[TEST] Reduce the number of threads in StressUpdateDelete test.
[FIX] Indexed scripts should always use script_id.
[TEST] Fix indexed script test.
[FIX] Fix update parser to accept script_id
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
Build: Remove UnsafeUtils from forbidden-apis exclusion list.
[TEST] Fix SimpleThreadPoolTests to exclude test infra threads
[BUILD] skip bwc version check if directory doesn't exists or is not a directory
release [1.3.0]
Update Documentation Feature Flags [1.3.0]
move to [1.3.1-SNAPSHOT]
Made `_source` parsing in `top_hits` aggregation consistent with regular `_source` parsing in search api.

Closes #6997
Aggregations: Track scores should be applied properly for `top_hits` aggregation.

Closes #6934
[TEST] top_hits aggs with breath_first collect mode only fails if scoring is used (score based sort or track_scores)
Aggregations: Fix JSON output of geo bounds aggregation

The geo bounds aggregation was not outputting the aggregation name and in the case where there was no data would output malformed JSON (extra } )

CLoses #7004
The `nested` aggregator should also resolve and use the parentFilter of the closest `reverse_nested` aggregator.

Closes #6994
Closes #7048
[TEST] All shards should be allocated before snapshotting.
Test: search.aggregations should have zero replicas, so it can wait for green
[CORE] Support parsing lucene minor version strings

We parse the version that is shipped with the Lucene segments in order
to find the version of lucene that wrote a particular segment. Yet, some lucene
version ie:
 * 4.3.1 (Elasticsearch 0.90.2)
 * 4.5.1 (Elasticsearch 0.90.7)
 * 3.6.1 (pre Elasticsearch 0.90.0)

wrote illegal strings containing the minor version which causes IAE exceptions
being thrown from lucenes parsing method.

Closes #7055