A GeoHashGrid aggregation that buckets GeoPoints into cells whose dimensions are determined by a choice of GeoHash resolution.
Added a long-based representation of GeoHashes to GeoHashUtils for fast evaluation in aggregations.
The new BucketUtils provides a common heuristic for determining the number of results to obtain from each shard in "top N" type requests.
randomize flush interval so multiple shards won't flush at the sam time
- also, allow to update interval using update settings on an index
Fix typo in snapshot/restore documentation
Fix mixed up duration and duration_in_millis fields in snapshot information output
Add missing license headers, move package names after  license headers
Add support for flat_settings flag to all REST APIs that output settings

Closes #4140