ISPN-2962 Fix thread leaks in the core test suite

* Several tests do not shutdown their Executors or fail to stop an AsyncStore leading to stray threads after the suite is run.
* AsyncStoreCoordinator must force the worker threads to shut down via interrupt if the initial attempt to shutdown the executor pool did not finish in time and some workers might still be running.