TestableScheduler/VirtualLock/Virtual(Runnable/Callable) removal

This is a possible solution to issue #52.  This removals all of the VirtualRunnable/VirtualCallable/VirtualLock infrastructure.  This also removes the TestableScheduler implementation.

I am doing this as a pull request because I want to think about it, as well as get @lwahlmeier 's feedback on what he thinks about this.  This removes a lot of functionality, and some of the test features of Threadly.  Some thoughts to consider:

* This does remove and change a lot of code right before the 1.0.0 release
* This does simplify a lot of code however, as well as fix one known issue
* This code has not been very valuable in testing the concurrency of threadly, and I think that what value the TestableScheduler did provide, could possibly be accomplished in other ways now.
* I am a bit sad to see all this code go, there was lots of good code here, and I think it was impressive how we could take a concurrent design and make it single threaded for unit testing.  The problem is that I feel like the architecture was fragile as well, and it only really worked if you used the VirtualLocks correctly.

So I am torn, and want to think about this a bit before we commit to removing all this code.