sizeInBytes can be 0
[TEST] Make sure refresh is called by `indexRandom`, even if the list of documents to index is empty.
[TEST] Fix [Children|Parent]ConstantScoreQueryTests with nightly=true

Those tests use RandomIW which can flush after each document taking forever
to index the 20k docs it was indexing. This commit makes sure the IW is
sane and the number of docs is not too crazy.
[TEST] Reduce number of documents/terms in aggregations' RandomTests.

This test initially had three purposes:
 - duels between equivalent aggregations on significant amounts of data,
 - make sure that array growth works (when the number of buckets grows larger
   than the initial number o buckets),
 - make sure that page recycling works correctly.

Because of the last point, it needed large numbers of docs/terms since page
recycling only kicks in on arrays of more than 16KB. However, since then, we
added a MockPageCacheRecycler to track allocation/release of BigArrays and make
sure that all arrays get released, so we can now lower these numbers of docs/
terms to just make sure that array growth is triggered.
Take stream position into account when calculating remaining length

Currently `PagedBytesReferenceStreamInput#read(byte[],int,int)` ignores
the current pos and that causes to read past EOF

Closes #5667
[TEST] build index up-front to prevent relocations
[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