Added multi-threading by moving the Scanner loop into ScanManager,
which manages a worker Thread pool and a ConcurrentLinkedQueue of tasks (=Scanners).
Note that typically the list of tasks will be > the # of threads, so that each
thread will execute more than 1 task (will run more than 1 Station Scanner).

Also, implemented scan-specific network/station filtering in the ScanManager class.