More cleanup and optimization
Benchmarking has shown that having at least one extra on the end can improve throughput for the executor.  Particularly under conditions where memory pressure is higher.
Found an easy way to make sure that produced artifacts are using the right java version.
I think verifying it like this will be more reliable
We need to use the actual clock, and not clock wrapper here....otherwise we could get into a point where the clock is not advancing when it should be.
Another fix for this optimization
This should fix the deadlock for good.  We don't allow spinning while we hold the lock.  And we also set an absolute time limit, instead of letting the delay update
Added emma code coverage based off this:
https://raw.github.com/breskeby/gradleplugins/master/emmaPlugin/emma.gradle
Unit test this class
Unit test the concurrent implementation, and implemented some fixes from it
A few more small tests around our locks
Expanded our unit testing here
Fix for an exception thrown in these unit tests
Pull this out so that other implementors of this interface can use a common test implementation
Added unit tests for this wrapper, and fixed some inconsistencies between the two interfaces
Merge branch 'master' into experimental-more_concurrent_scheduler