Unit test cleanup and reductions in code duplication.  I found a couple spots where we could improve coverage, simplify the test implementation, and provide similar improvements.

This change goes with a new feature "AsyncVerifier" which assists in verifying unit test actions and status for seperate threads.