Fix handling of special characters in city names in the update script

As noted in #30, after running the update script, results with special characters will no longer be returned correctly.

MaxMind returns all data as latin1 (ISO-8859-1). Nodejs doesn't support latin1, so iconv has to be used to convert.

As far as I can tell, only the city file actually has non-ASCII latin1 characters in it, but according to [MaxMind's docs](http://dev.maxmind.com/geoip/legacy/csv/) all their CSV data is returned as ISO-8859-1, so I went ahead and changed all the CSV processing to treat things as Latin1.

This fix using `lazy` and `iconv` is based on: http://stackoverflow.com/a/16866895

This should fix #30 and also fix the test for special characters it looks like you had added yesterday (cf05a04cc32d660315fdc091d5858c2149ec9793).