Switched from manually creating/handling thread pool to using
ExecutorService to do this.  This allows a check to see
when all worker threads have finished, and then return back to main = SeedScan
to shutdown the injector/reader threads.

Note that the check in ScanManager: while (executor.isTerminated() == false)
could never return in the case of a hung thread (?)