Use the correct library name on Linux (libpcsclite.so.1).

martinpaljak made this change on his branch but I didn’t merge it yet.
Fix CardTerminals.waitForChange(long) and CardTerminals.list(State) on Linux.

It turns out that SCARD_READERSTATE_A is only packed in OS X, not Linux. Change the alignment of LinuxSCardReaderState to ALIGN_DEFAULT.

On Linux pcsclite 1.7.4, the SCardGetStatusChange increments the reader change counter every time the a card is inserted OR REMOVED, not just inserted. This required a change to the list(State.CARD_INSERTION) logic.

Also, the behavior of SCardGetStatusChange differes from Windows and OS X. On Windows and Mac, the first call to SCardGetStatusChange can contain just the PNP device, and the call will return immediately if there are any readers already plugged in. However, on Linux, the call hangs forever; I need to query the reader state first.