Improvments for scheduling on a limited sub pool.
This provides performance improvments for scheduled (and recurring) tasks by attempting to run on the delayed runnable thread, and only queuing if forced to do so.  Previously this would always due the worst case situation and queue after the delay has expired.  This commit also reduces code duplication by allowing the PrioritySchedulerLimiter extending from the SchedulerLimiter.
I also expanded and improved the unit test code, to make sure we get full coverage.
Merge pull request #57 from jentfoo/improved_scheduling_on_limiter

Improvments for scheduling on a limited sub pool.
This adds two new features.  The primary one being ListenableFutureResult.

ListenableFutureResult makes it easy to asynchronisly return single results, when the result may have been built piece by piece.
ListenerHelper was created to reduce code within threadly, but can be useful for anyone trying to build a listener pattern, where those listeners must be called.

Of course unit tests were added to make sure we keep having great coverage on everything.
Added some small functions to the ListenerHelper to make it more useful for other cases.
Some minor code duplication reduction
Unit test improvements, simplifications and a couple additional tests
This resolves #58.
We previously would just kill the worker usually in this condition, but there was a rare situation where we would run on an interrupted thread (must be interrupted after added to availableWorkers, and given a task before it checks for the next task).

This change makes it closer to ThreadPoolExecutor's behavior.  We reset the interrupted status always before starting the task, and will only kill the worker if the thread pool is trying to shut down.
Fix for an intermittent unit test failure
More verification in unit tests around interrupting threads used in the scheduler
Merge pull request #59 from jentfoo/unstable_staging

Unit test improvements and issue #58 resolution
With the changes for #58 yesterday, we no longer need to check/clear interrupted after a task finishes
Merge branch 'unstable_staging'
Some small unit test improvements around org.threadly.test.concurrent utiltiies.
Merge branch 'unstable_staging'
Merge branch 'master' into gradle-2.0_updates