Completing initial geocode refactor

This finishes up the first pass at the refactor, passing tests where
possible/desirable. Next step is to rearrange the pipeline and add structure
to place data.