Fix for unit test failure
Fix to ExceptionUtils.handleException when thread has an UncaughtExceptionHandler set
Previously we would automatically default to the defaultUncaughtExceptionHandler.  This changes it to use the more java designed way, by requesting the uncaughtExceptionHandler that is set for the thread (which will default to the group if none is set, which may eventually default to the defaultUncaughtExceptionHandler).  If none are set, then it will ultimatly print to std error like we were doing previously.  Long story short, java was doing the heavy lifting for us.
Reduces duplicated code, and improves how we are generating threads.
This also provides a class that will be usuable by others in the future.  Right now it is still a work in progress.