Use latest Parallel Extensions Extras bits

For the scheduler.
Use ConfigurableValues for TaskScheduler options
Rename a few things
Fix bugs with queuing / counting

Add unit tests to exercise some simple cases. Add some comments to help
understand what assumptions are being made.
Fix sleeps in tests, add more comments