Completely rewrote GeoIP class

Now it should be safe to use GeoIP functions anywhere. Hub tries to load country and city databases only once, when it starts, on failure message is written to log file. Resolved another issue when libGeoIP exists during compilation, but the actual database does not, this caused hub to crash. Values that represent %[CC], %[CN] and %[CITY] variables are now part of user class, they are gathered when user connects and can be used in triggers and welcome messages. Also added country name and city all over the hub, where country code exists, commands like !getinfo, +myip and +myinfo.