Removed some of the deprecated features for the 2.0.0 release
This is removal for issues: #67 #66 #65
This changes how we do the NoThreadScheduler, breaking it into two classes...
TestableScheduler now handles the behavior that NoThreadScheduler previously handled.  NoThreadScheduler became more useful for non-unit test applications (while unit testability remains in the TestableScheduler).  This makes it easier to make a single threaded executor that uses the NoThreadScheduler as a backing (basically we needed blocking behavior, so this change was necessary...the single threaded scheduler will be coming soon).

I don't see an easy way to keep this backwards compatible, so this will be a change for the 2.0.0 release