Rename lon to long and fix some interfaces

We don't need pointers as arguments everywhere because:
  - a.) we aren't modifying the parameters
  - b.) the structres aren't that big
Improve naming and add helper functions

No more _under and combinedNames, only camelCase.

Also added some helper encoders so callers don't have to manually
create ranges when they don't care about getting any range
data returned.
Fix params on decode and add decode helpers
Fix parameter error from upstream

It sure looks like an error to pass lat_range, lat_range instead of
lat_range, long_range.
Add more paranoid static initializers
Add radius helpers for projection types

Always nicer if callers don't have to know internal #define symbols.
Add helpers and remove static for radius search
Remove all static linkage from helpers
Return area from radius search too
Fix naming (allign -> align)
Avoid inlining helper functions

That's what be compiler optimizations fo, 'yo.
Rename step estimation function
Rename thingX to Xthing
Return boolean instead of -1 for failure
Fix infinite loop if 0 passed as parameter
Add cap for max bit decode depth estimation

Tiny ranges like asking for 0.1 meter radii resulted
in steps of 28, which isn't valid because that decodes
28*2=56 bits instead of the 52 bits we store.  We don't
want to decode non-encoded data.

Also fix an edge case where asking for a radius of zero gives you zero steps.
A radius of 0 should imply "my exact location at highest precision
available," which is 26 steps.
Add direct hash->lat/long decode helpers
Change getDistanceSquare to just getDistance

Square it yourself -- what do you think this is, the united socialist
republic of doing your math for free?

Note: this update is only for WGS84 coordinates.

Mercator coordinates still return squared distance, so it's
getDistanceSquared when using the Mercator helper.
Add define for maximum step size

All decodes must be done at maximum step size.

Encodes can be done to a less precise step size, but then
they must be shifted to compensate for their lack of meaningful
bits.
Fix great circle distance function

Upstream was missing a few carefully needed /2's.

Now it's a properly un-broken haversine arc length calcumajigger.