Updated README with new litecoin donate address
Improvments to the unit tests when verifying the futures
Small cleanup, trying to be consistent in checking everything possible before the synchronize block
Fix for a possible unit test failure
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'
This commit resolves #60.
Listeners is no longer final. This way if we are calling to add a listener, we can check if we already hold the listenersLock.  If we do, we spend the time to create a new map and copy the listeners.
This keeps the normal code path cheap, the alternative would be to copy the map before we iterate over it (but that pain would happen in every case, not just this rare one).
Because listeners are no longer final, it actually starts as null (and may end as null after they are called), this is to keep memory as free as possible, but does require us to check if the listeners is null or not.
Minor unit test improvement on the ListenerHelper