Move from CGI to URI module for handling URLs

This rips out the CGI module in favour of URI and uses URIs instead of string URLs.  With this change I was able to remove a few URL string param methods that the URI module handles.  Besides that code cleanup I added a User-Agent string to our requests so the geonames service can see the module and version accessing their site; not required but a nice thing to do.  Finally I found what appears to be an unused KEYS module level variable that I removed.

All existing tests passed.  No new tests added, though I could probably add one for the User-Agent but since its not required functionality that seemed excessive.

Let me know if you see any issues that I can fix up.