Added a second unit test to verify shutdownNow seperate from shutdown
Give the high and low priority consumers different thread names
Call shutdownNow instead of just shutdown since many unit tests may be expecting an immediate hault
Only let the function redirect once
Reduced code duplication...this reduces our unit test count, but it greately reduces our duplication of code
Little more unit test coverage, and reduced code duplication between the unit tests
Add two unit tests for these fail cases
More unit test coverage, and implemented long waiting TODO note