This commit just moves the code to two separate files. The geoip code still has a few needless dependencies on core/* and features/*.