Initial commit.

This initial commit only supports the geo database for lookup, but it
sets the basic infrastructure down to support more.
missing a coverage 100% check