Update: check in ISO country codes

 * iso 3166
 * source: http://www.iso.org/iso/country_codes/country_codes
Bugfix: always deal in utf-8
Change: add nokogiri as a dependency
Enhancement: a parser for launchpad's mirror list

 * parses the HTML output of the page
 * generates a list of (hopefully) working (!) mirrors
Enhancement: tld to country name lookup

 * uses the iso list to get the name of a country by TLD
Refactor: move code to its own object

 * moved mirrors.ubuntu.com related code to its own object
 * follows 'pattern' of Apt::Spy2::Launchpad
Enhancement: enable --launchpad

 * add --launchpad flag so we can failover when mirrors.ubuntu.com is down
 * a tiny bit of input validation for when --launchpad is used
 * refactor retrieve() to support both options
Clean-up: remove require for nokogiri
Enhancement: spin off download part

 * move open-uri related into Apt::Spy2::Downloader
 * consume result in Apt::Spy2::Launchpad and Apt::Spy2::UbuntuMirrors
Enhancement: move open-uri check into download

 * clean-up error checking and do it once (and for every use-case)
 * downloader returns a string now, which simplifies consuming
Enhancement: minitest setup
Enhancement: code defensively
Bugfix: enforce default UTF-8
Enhancement: add a test to cover Apt::Spy2::Launchpad
Enhancement: enable travis-ci
Enhancement: refactor --launchpad flag handling
Enhancement: add --launchpad flag to check and fix
Enhancement: add a test to cover Apt::Spy2::Country

 * a few assertion to confirm our expectations
Change: for testability (?)
Bugfix: ensure not just the first char is capitalized