https://github.com/AzureAD/microsoft-authentication-library-for-java/issues/741 : When a future was cancelled it shut down the relevant thread, however Java 9+ introduced timeout behavior that our code didn't consider so threads would continue through a timeout. We now check for exceptions (such as TimeoutException) as well as cancellations
This PR handles a number of small issues from our backlog: