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
Catch signals to perform cleanup tasks

This currently does only quit Picard after it has regained focus (see
[0] and other answers to that question for the reason why). It also
doesn't work on windows right now because I have no way to test that.

[0] http://stackoverflow.com/a/4939113/307681
image class: rename _filename to _tempfile_filename
Save images with an extension

image_filename is the filename without the extension, new_filename does
contain it.
Readd the option to use a custom file name for images
coverart: Remove a write-only assignment
Fix the need to re-focus window after ctrl+c interrupt for the app to exit
Add lockable default dict class
Add a bit of debug log when images are saved to temp files
Lock images dict when writing, it is needed to avoid double saved images