Aggregations: Fix geohash grid aggregation on multi-valued fields.

This aggregation creates an anonymous fielddata instance that takes geo points
and turns them into a geo hash encoded as a long. A bug was introduced in 1.4
because of a fielddata refactoring: the fielddata instance tries to populate
an array with values without first making sure that it is large enough.

Close #8507
This is a weird API, where you must first set a protected member, then call a protected function.  Perhaps it could be reworked to have `count` be private, and change `grow()` to `resize(int)`? I only see 2 cases where `count` is set, but `grow()` is not, and they are for 0 and 1, which I think are just special cases and can be skipped on entry to to resize?