redesign bankd thread architecture
Right now we have a pool of threads hanging in accept() and accepting a random client connection. Only once the client ID and the slot mapping are known, we know which reader to open in this thread.
This has the disadavantage that we cannot open all the readers/slots and obtain their status (or even the ICCID or IMSI of the card inserted).
We need to switch to a model where there's one thread per reader, and where this per-reader/slot thread can monitor the slot status irrespective of any client connections. Client connections then have to be accept()ed from the main thread and dispatched after it is known which reader they're handling.