add .gitignore
search for more library names

Added darwin, cygwin and windows names.
Windows has multiple name variations.

discid.dll is probably MS VS,
libdiscid.dll is MinGW/MSYS with Cmake,
libdiscid-0.dll is MinGW with Autotools.
Catch exceptions and empty lib_name in __open_library

__open_library uses __find_library if necessary.
_lib_name will still be set correctly.
Assert _lib_name will not be None.

ImportError is raised, when libdiscid can't be opened
disc_id only on success, read raises IOError

Get_id() only tries to calculate anything if there was a
successful read() or put(). Otherwise return None.

When read() didn't work raise an IOError with the
appropriate message.