VH:GetUserCity(), VH:GetUserGeoIP(), VH:GetHostGeoIP()

Changed VH:GetUserCity(nick,[database]) function, it now accepts second optional parameter which specifies alternative GeoCity database file path, otherwise "/user/share/GeoIP/GeoLiteCity.dat" and "/user/local/share/GeoIP/GeoLiteCity.dat" are used if they exist.

Added VH:GetHostGeoIP(host,[database]) function, which returns full hostname or IP address GeoIP information as table like in following example:

table = {
["host"] = "google.com", -- string or nil
["range_low"] = "0.0.0.0", -- string or nil
["range_high"] = "0.255.255.255", -- string or nil
["city"] = "Mountain View", -- string or nil
["region_code"] = "CA", -- string or nil
["region"] = "California", -- string or nil
["country_code"] = "US", -- string or nil
["country_code_xxx"] = "USA", -- string or nil
["country"] = "United States", -- string or nil
["continent_code"] = "NA", -- string or nil
["continent"] = "North America", -- string or nil
["time_zone"] = "America/Los_Angeles", -- string or nil
["postal_code"] = "94043", -- string or nil
["area_code"] = 650, -- number or 0
["metro_code"] = 807, -- number or 0
["latitude"] = 37.419200897217, -- number or 0
["longitude"] = -122.05740356445 -- number or 0
}

VH:GetUserGeoIP(nick,[database]) works in same way as above, but for a user in hub.