[TEST] Harden GeoShapeIntegrationTests.
`geo_point` doesn't allow null values

After upgrading to 1.1.0, sending null values to geo points produces the following error:

```
MapperParsingException[failed to parse]; nested: ElasticsearchParseException[geo_point expected];
```

Closes #5680.
Closes #5681.
[Test] added trace logging to refresh action to note which cluster version was used

Increase logging level for SearchWithRandomExceptionsTests.testRandomExceptions & MinDocCountTests to use the above and log cluster states on changes.
[TEST] Wait for nodes to join before asserting on cluster stats
Show stacktrace of startup exception

Whether or not the stacktrace is displayed is controlled by bootstrap
log level setting, so that bootstrap: DEBUG displays the stack trace on
output, like it does on log

Closes #5102
[DOCS] Fixed typo
Adding javadoc to UpdateRequestBuilder for a couple of details it took me a while to find.
[DOCS] A few grammar and word use corrections
log full exception in InternalClusterInfoService unless it's a ClusterBlockException
Add `getAsRatio` to Settings class, allow DiskThresholdDecider to take percentages

Adds new RatioValue class that parses ratios between 0-100% expressed in
either floating-point (0.13) or percentage (51.12%) notation.

Closes #5690
[TEST] cleanup secondary cluster properly in Tribe tests.
[TEST] Prevent RelocationTests from going crazy when relocations take time
releasable bytes output + use in transport / translog
create a new releasable bytes output, that can be recycled, and use it in netty and the translog, 2 areas where the recycling will help nicely.
Note, opted for statically typed enforced releasble bytes output, to make sure people take the extra care to control when the bytes reference are released.
 Also, the mock page/array classes were fixed to not take into account potential recycling going during teardown, for example, on a shared cluster ping requests still happen, so recycling happen actively during teardown.
closes #5691
[Test] Added better control over the number of documents indexed by BackgroundIndexer

Used the new controls to reduce indexing activity in RelocationTests and RecoveryWhileUnderLoadTests

Closes #5696
Added global ordinals (unique incremental numbering for terms) to fielddata.
Added a terms aggregation implementations that work on global ordinals, which is also the default.

Closes #5672
fix typo
Add doc value for binary field.

Close #5669
Remove AtomicFieldData.isValuesOrdered.

This method is not used anymore.

Close #5688
add lucene language model similarities (Dirichlet & JelinekMercer)
Remove clear on mock page/array
since we use a shared cluster, calling clear on the mock array / page recycler can cause removing a valid on going reference, and then when its released, the release will fail because it can't be found.
There is no real reason to call clear, checking if pages/arrays have been released takes the snapshot behavior here into account.
This change also makes sure we don't use the mock classes in places where we don't really release.

Note, with this change DoubleTermsTests fails, since it causes failures when creating aggs in the pre process phase, causing obtained arrays not to be released. This needs to be fixed before pulling this change in.