Swapping census tract for a more generic model

Lots of lines of code changed, but very little conceptual differences. This generalizes the Census Tract model into a "Geo" model, which can (currently) represent census tracts, counties, and states. Using a single model/table for these shapes makes foreign keys much more logical and allows a lot of code reuse.

The only noticeable change is that this no longer pre-generates the json -- since switching to geojson tiles, it'll be easy to just pre-cache all those tiles.