adding an adjacent geohash function

Adds the ability to calculate adjacent/surrounding geohashes so that neaby hashes can be retrieved.
Based on algorithm found in various codebases that seem to point back to David Troy's implementation in geohash-js which was published under a MIT copyright notice (see: https://github.com/davetroy/geohash-js)