tests:asciimap: add a simple test for ASCII map

Add a simple test which checks that the ASCII map output matches the
expected output when run with the mock data. This essentially verifies
that the Dataset.get() function works sanely over the full range of
input values.
tests:asciimap: fix test on Python 3

Patching print() is really rather subtle. Instead of patching print
directly, patch sys.stdio.write.
asciimap: do not use print() for output

The fact that print() uses std.stdout.write() under the covers is
probably non-portable. Don't rely on this for the tests to pass.
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