Catch "URLError: No route to host" while fetching and move to next url.

 * Before, if blockfinder was unable to resolve a hostname, it would barf up
   the unhandled error in the terminal and exit. Instead, we should at least
   catch the error, display a message to the user that there was a problem
   caching whichever URL failed, and move on to the next URL. We might want to
   retry the url instead, but my tests of this patch on my local network
   (where DNS is highly tampered with and censored) show the following
   results (instead of just crashing):

∃!isisⒶwintermute:blockfinder(develop *+=) ∴ blockfinder -i
Downloading RIR files...
Fetching 3207 kilobytes
[=============================================================>] 365.58 K/s
Fetching 0 kilobytes
[=============================================================>] 0.00 K/s
An error occurrred while attempting to cache file from:
        ftp://ftp.ripe.net/ripe/stats/delegated-ripencc-latest
        <urlopen error ftp error: [Errno 113] No route to host>
An error occurrred while attempting to cache file from:
        ftp://ftp.ripe.net/ripe/stats/delegated-ripencc-latest.md5
        <urlopen error ftp error: [Errno 113] No route to host>
Fetching 171 kilobytes
[=============================================================>] 67.89 K/s
[...]
Verifying RIR files...
Importing RIR files...
∃!isisⒶwintermute:blockfinder(develop *+=) ∴
Add a travis ci configuration file.
Signed-off-by: David <db@d1b.org>
Changed behavior to correctly process new formats from ARIN:

1. Change of name:
ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
instead of
ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest

2. Change of MD5 checksum file format:
ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest.md5
contains:
11acb87299e13be8911a9ce45d49612e  delegated-arin-extended-20130827
instead of
ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest.md5
which contained:
MD5 (delegated-arin-latest) = 9e056d06a46740cb8cfed99702149c44

changed the code to look for 32 hex string if it previous parsing fails.

3. Change of file format from 2 to 2.3
ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
contains:
2.3|arin|1377579757580|105164|19700101|20130827|-0400
instead of:
2|arin|20130812|72395|00000000|20130811|-0400

so isdigit() failed on "2.3" string.

Now works.
Verbose mode for some additional display
Merge pull request #63 from d1b/travis_testing

Add a travis ci configuration file.
Add Debian package TODO item
Merge pull request #65 from P1sec/master

New attempt for processing ARIN (and other's) extended zone file format
Fix SyntaxError due to Python2.x-styled print statement.
Merge pull request #67 from isislovecruft/testing/develop

Testing/develop from the epic isislovecruft
Support python 2.7 and 3.0.

Signed-off-by: david <db@d1b.org>
Have travis ci test against 3.3.

Signed-off-by: david <db@d1b.org>
Merge pull request #69 from d1b/python_3_hacking

Support python 2.7 and version >= 3.3.
Fixing invalid COUNTRY_CODE_URL
Merge pull request #71 from Phoul/master

Fixing invalid COUNTRY_CODE_URL
Update README
Fail tests on failed tests

Travis CI uses exit codes to determine if tests pass.  Unfortunately, we
haven't been setting the exit code, so even when tests fail, the return code
has been a success.  Here's an example:

https://travis-ci.org/ioerror/blockfinder/jobs/20337141

Now we check to see if any of the tests failed - and if they did, indicate a
failure by returning the number of failed tests.  This works because of bash's
strange error handling - 0 is true (success), while 1-255 are false (failure).
Fix Python 2.6 support

In #69, explicit decoding of the lines was added.  However, this was done using
a keyword argument that isn't supported in Python 2.6.

The good news is that there's no reason to use a keyword argument here - all
versions take the same parameters.  So if we just remove it, all is good.
str decode() takes no kwargs, replace with arg
Add ASN and AS Description lookup by IP.

This adds the following commands:
 --init-asn-descriptions, --reload-asn-descriptions
   Download or Update ASN to AS Description mappings into the db.

 --init-asn-assignments, --reload-asn-assignments
   Download or Update Netblock to Origin AS mappings in the db.

 --lookup-org-by-ip
   Query the Netblock and Origin AS by IP Address

 --lookup-org-by-range
   Query the Netblocks and Origin AS in a range of IP Addresses.
   Requires --range-start and --range-end to be specified.
Add geoip csv file export, in the same format as MaxMind.
This might be useful for building debians geoip-database package from
alternate data sources.

Also adds experimental geoip asnum csv file export.
This might be useful for extending debians geoip-database package to
support building a geoip asnum database.