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.