Merge pull request #131 from zas/update_config_2

Handle configuration file versions
Merge pull request #127 from zas/album_error

Improve feedback regarding album status
Use python-discid instead of libdiscid.

Python-discid (http://python-discid.readthedocs.org) is a Python binding of libdiscid.
It resolves http://tickets.musicbrainz.org/browse/PICARD-503
Use discid/libdiscid drive auto detection, especially on first start

It will add default drive as returned by libdiscid to the list of known drives
Ie. on linux, list is : /dev/cdrom, /dev/sr0, /dev/sr1 (default link + 2 sata cd readers)

On first start it will populate the list with default drive provided by libdiscid,
which means Picard is now able to scan CD without going to Options (to set
cd reader) first, which was not the case before.
Add uniqify() helper function to uniqify a list

From http://www.peterbe.com/plog/uniqifiers-benchmark
Ensure each drive is present at most once in the list.

When Picard legacy method to list drives returns one that is already
set by python-discid (which is very likely on Windows systems).
Also try to use python-libdiscid

python-libdiscid is another libdiscid binding that also provides a python-discid
compatible interface in libdiscid.compat.discid.

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
Fix duplicate CD drives in the drop-down: "D:" and "D:\", on Windows