Added `fields` support to `geo_point` and `completion` field type.

Upgrading 0.90.x `multi_field` type that has a `geo_point` or `completion` field type as default field would otherwise fail.
Also it make sense to support these field types, because both support specifying the actual values as string.
Parent / child queries should work with non-default similarities
[TEST] Added check that yaml REST test suites always end with \n

Our yaml parser seems to be too tolerant in some cases, e.g. it properly parses yaml suites when they don't end with a line feed, whereas other clients tests break due to that. We should try to do the same to keep consistency across runners.
Added exception if passed an invalid type param
Closes #4964
[TEST] Added ability to test apis that don't return json

The last response body gets now always stashed in the REST tests and can be retrieved via `$body`. This implies that not only expected values can be retrieved from the stashed values, but actual values as well.

Added support for regular expressions to `match` assertion, using `Pattern.COMMENTS` flag for better readability through new custom hamcrest matcher (adopted in do section as well). Functionality added through new feature called `regex` that needs to be mentioned in the skip sections whenever needed till all the runners support it.

Added also example tests for cat count api
Added tests for match/multimatch queries with invalid “type” JSON param
Added dedicated test for MultiMatchQuery
[TEST] fixed typo s/mising/missing
[TEST] added missing put warmer body
[TEST] added ability to filter REST test sections to run

Added `tests.rest.section` parameter that allows to filter the test sections that get executed via regex (case insensitive)
Remove the in memory buffer Lucene store/directory
closes #4994
fix docs to reflect removal of byte buffer memory
Add [0.90.11] version as a constant
Improve Aggregations documentation

* Mostly minor things like typos and grammar stuff
* Some clarifications
* The note on the deprecation was ambiguous. I've removed the problematic part so that it now definitely says it's deprecated
Fix confusing sentence

The original sentence didn't make much sense. I hope this is a bit better. Taken heavy inspiration from https://github.com/elasticsearch/elasticsearch/commit/c63d8c4fb566882bd4655ddc7dec13b4e8719244
Rename `geohashgrid` to `geohash_grid` in documentation.

It was renamed in fc6bc4c4776a2f710f57616e3495aaf6a230c4d3.

Close #4997
Does not support "script" in value_clunt aggregation.
[DOC] Tidied up geohashgrid aggregations
[TEST] thrown error when there are no REST tests to run
Fix hashCode values of aggregations' BytesValues.

This commit removes FilterBytesValues which is very trappy as the default
implementation forwards all method calls to the delegate. So if you do any
non-trivial modification to the terms or to the order of the terms, you need
to remember to override currentValueHash, copyShared, and this is very
error-prone.

FieldDataSource.WithScript.BytesValues and ScriptBytesValues now return correct
hash codes, future bugs here would be catched by the new assertion in
SortedUniqueBytesValues.

This bug was causing performance issues with scripts as all terms were assumed
to have the same hash code.

Close #5004