tests:travis: add integration with coveralls.io

Coveralls.io can be used to track code-coverage stats over time. We're
currently running at around 70% coverage which isn't bad but we can do
better.
test:download: add test for main()

Add a simple test which mocks sys.argv allowing for full end-to-end
testing of the downloader.
download: fix breakage of --split-chunks

The use of ``with target_f`` in download.py was invalid if target_f is
None. Add a somewhat ughly workaround and a test.

(This shows the advantage of nearly-full-stack testing...)
downloader: verify resolution string

Add some sanity checks to make sure that the resolution string is
sensibly formed and some tests which exercise this.
setup: add GDAL dependency

GDAL is a library which allows direct access to a variety of Geospatial
Data formats. (It is, in fact, a Geospatial Dataset Abstraction
Library.)

The Python bindings are distributed separately on PyPI as the GDAL egg.
Add it as a requirement to setup.py.
travis: add GDAL setup magic

On the 12.04 Ubuntu boxes which act as Travis workers, the distro GDAL
packages are quite old so add the ubuntugis PPA to enable a more modern
GDAL to be installed. Also specify the exact version of the Python
bindings to install in order to match the installed GDAL.
download: read dataset information via GDAL