Geo: fixes computation of geohash neighbours

The geohash grid it 8 cells wide and 4 cells tall. GeoHashUtils.neighbor(String,int,int.int) set the limit of the number of cells in y to < 3 rather than <= 3 resulting in it either not finding all neighbours or incorrectly searching for a neighbour in a different parent cell.

Closes #7226
Internal:  adjusted visibility to package private for BroadcastShardOperationRequest subclasses and their constructors

Also replaced the String,int pair for index and shard_id with ShardId object that holds the same info and serialized it the same way too.

Closes #7235
Remove `numeric_range` filter

As done with #4034, `numeric_range` filter has been deprecated since 1.0.0.

Closes #7108.
[DOCS] mention the type of caches that warmers load
Fix: VerboseProgress(PrintWriter) does not set the writer
Tests: move plugin dir to plugins dir

We should be consistent in our naming for classes and resources.
Update api & Indices stats: fixed version checks for no-op updates which got in after 1.3 was released

Also added basic bw comp test for indices stats api.

Relates to #6822
A content decompressor that throws a human readable message when
compression is disabled and the user sends compressed content.