MODE-2343 Added more robust handling when shutting down the repository change bus.

I'm not 100% sure. I guess in a real scenario, anything can happen i.e. the cancel can (but not must) trigger an `InterruptedException`. This is why I'm handling both (the stop marker and the exception). Based on my understand and what I've seen on my machine `future.cancel` is a best-effort type call, but it doesn't always guarantee that the thread will be interrupted.