use more efficient data structures for GeoIp lookup tables
Notify at end of loadData() on success or failure, so that threads never hang
incomprehensibly, the BufferedInputStream fixes running from quickRun