Improve metadata image handling

Keep full image type from CAA/MB (ie. back+spine)
Saving those as back-spine.jpg is now possible
Introduce main cover concept, since front type wasn't clear enough.
Main cover is:
- first image with front type
- first image
- there's only one main cover
- it is used in place of "front", even though it is often the same,
  especially when only one image is found

To ease things a new class MetadataImage was added and is now used for Metadata.images elements.
Naming of image files (when saved to local) was modified, and now use a callback
function to generate it (mostly because it depends on main cover and options set).
Minor cleanup
Metadata.look_for_main_cover() renamed to update_main_cover()
Add Metadata.get_main_cover()
Add types, description under image in track cover infobox

Filename selected appears as tooltip
Main cover has text in bold
CoverArtBox: use Metadata.get_main_cover()
Fix up adding an image as cover art using drag'n'drop

Metadata.add_image_main_cover() forces the added image to be the main cover.
User's choice prevails over assumptions we are making when downloading cover art.
Metadata.update_main_cover(): fix up code

It was not working as it should, new code is easier to understand too.
Enable Informations dialog for albums, used to display metadata images.

It is using existing InfoDialog code, moved to a common class.
For now, first tab is just hidden as there is nothing to display in.
In Artwork tab, all metadata images associated with the album are shown.
Slight change in behavior is that pressing Informations button while an album is
selected was showing 1st track information, now it should album info.
MetadataImage: store source of the image

Image may come from original file, online sources, or user drag'n'drop.
Keeping track of this information will help debugging and will allow
user to know from where images displayed in info dialog are coming.
InfoDialogCommon: add methods to remove tabs

Better than using index.
self.hide_info_tab() is far more explicit than self.ui.tabWidget.removeTab(0)
InfoDialogCommon: display images from file as well as downloaded ones

Source information is now displayed.
MetadataImage: implement __str__() to ease debugging
Metadata.copy(); reduce code redundancy, use update().
MetadataImage.get_source_as_text() will handle human readable form of the source
CAA types selection: replace free text input with a list with checkboxes

Free text input was simple, but it can't be translated, and isn't very user-friendly.
This patch introduces a CAA types selector, with translatable titles and descriptions.

Upgrade is seamless since the whole list is still saved/load as a simple string using
space as separator, with english lowercased names of each type.

Descriptions were taken from http://musicbrainz.org/doc/Cover_Art/Types

Define missing tabstops for Cover Art options UI
Regenerate picard/ui/ui_options_cover.py with pyuic 4.9.6
Translate type names in artwork tab of info dialog.
Metadata.embeddable_images() returns embeddable images regarding current options

It reduces code redundancy.
Slightly improve display of images in info dialog

Images from file are displayed after images from CAA
Embeddable images are marked (it depends on cover art options)
Display width and height of images in Info Dialog