Initial commit.

This initial commit only supports the geo database for lookup, but it
sets the basic infrastructure down to support more.
Then perhaps it's hhvm that breaks it.