Use a separate class for dealing with images

This new class stores the image data in a tempfile.TemporaryFile so we
don't keep the data for all images that are used somewhere in memory
anymore.

It also deals with saving images onto disk when the corresponding tracks
are saved (this was previously done by the File class). This removes the
ability to use tagger script in the cover file name (cf. the first line
of File._make_image_filename).
Use the same Image objects for all tracks of an album
Catch IOErrors and OSErrors when creating Images

They can happen if the disk is full or the user is not allowed to access
the folder where tempfile.TemporaryFile wants to create the file.
Fix a typo

Not sure how that happened.
Fix embedding only front images

by using the images is_front_image attribute
tis -> this
Use tempfile.mkstemp to get a closable tempfile

This makes sure we don't run out of file descriptors if many images get
loaded into Picard.
Remove a super(...).__del__ call

`object` does not actually have a __del__ method
Use md5 hashes to make sure every images is only saved once

make_and_add_image will use already existing images from Tagger.images
if the hash of the image is the same as that of an image in there.
Use a _delete method for deleting temporary image files

__del__ was not getting called reliably when the interpreter shut down.
Delete cover files after running TestCoverArt
Use getopt.gnu_getopt

If you were ever annoyed by starting Picard from the console with a
specific folder, noticing you forgot the `-d`, stopping Picard, pressing
arrow-up, adding the `-d` to the end of the line, only to notice that
this didn't help at all, this commit is for you because now the option
parsing doesn't stop after the first thing that's not an option.
Set up Transifex to pull the country name translations.
Build picard-countries.po for enabled languages.
Add note to NEWS.txt about PICARD-205 being fixed.
Add a update_countries command to setup.py

It retrieves countries.pot from transifex and uses it to generated picard/countries.py
Add po/countries/countries.pot to git ignore list

We don't want this one to be committed to git repo, it is not created
by parsing Picard code.
Add generated picard/countries.py
Replace the release countries in const.py with import from countries.py.
Use ungettext_countries() for translating country names.