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
Merge pull request #129 from zas/discid

Use python-discid instead of libdiscid