Show the completed percentage as each finding chart is downloaded

Let the user know of the percentage of the download of each finding
chart that has been completed. This is achieved by using the function
urllib.urlretrieve(), whose third argument defines the hook function
that is called once the network connection is established and every
time a new block is read. This allows us to display and keep updated
a message such as "Downloading M31.jpg: 87 %".

If any exception is raised by urllib.urlretrieve() (and this includes
KeyboardException, if the user stops the execution), the file being
downloaded is silently removed before the exception is re-raised.
This guarantees that we will not be left with truncated data.
Exit the script on KeyboardInterrupt

If urllib.urlretrieve() raises any exception, it is caught aynd an
error message informing the user that something went wrong, such as
"Download of NGC4321.jpg failed", is displayed and the script then
moves to the next image. However, the KeyboardInterrupt (raised by
Control-C) should stop the execution of the script, and not only of
the download of a particular finding chart.
Update expected output — completed percentages are now shown
Merge pull request #6 from vterron/download-percentage

Show the completed percentage as each finding chart is downloaded
Added .gitignore file

Instructs git to ignore the build directory, when present
Use multiprocessing module to download the finding charts in parallel

As suggested by Juan de Dios Santander, use a multiprocessing pool of
workers to download multiple finding charts simultaneously. The number
of workers in the pool is equal to that of CPUs in the system (e.g.,
if there are four cores on the machine, charts are downloaded from the
SDSS server in batches of eight).
Do not show completed percentages as finding charts are downloaded

Now that the finding charts are downloaded in parallel we cannot
display the percentage of each download that has been completed so
far, as multiple downloads would update the percentage at the same
time. We need to revert to the original output, showing a slightly
more detailed information so that the user always knows to which
finding chart each message refers.
Update expected output — charts downloaded in parallel