Modify and move setup_gettext() in its own file.

Unit tests will need to use gettext, so i modified a bit setup_gettext()
and it can now be easily imported.
I add to change the code a bit to make it work, i also fixed an issue with
locale under linux that was occuring when one imported this module.
Add functions to convert bytes to human readable form.

Binary and decimal modes are supported (MB and MiB ie.)
It supports i18n using gettext and locale.
Precision can be modified if needed, by default it is using 1 digit (if needed).

Extensive tests were written, the toughest was to make them work for
both default C locale and fr_FR.UTF-8 locale (ofc it is possible to test for more
locales...). If one locale isn't available on testing system, test is skipped.
fr locale was chosen because decimal point is replaced by a comma and byte units
becomes "octet" units (1.5 MB in english -> 1,5 Mo in french).
Use bytes2human to display file size in Info dialog.
Display cover art images sizes and dimensions in Info dialog
Fix set literal incompatibility with python 2.6

It has no importance here anyways.
Fix up bytes2human unit test to work with python 2.6 and with its own fr.po