Make Tuple constructors public so they can be used as superclasses in helpers that need to hold data. This way it's easy for a helper bean to be created that subclasses one of the Tuple classes and provides additional named getters to get data out of the Tuple.
Encapsulate common logic to execute a task
Tweak to Promise.Builder
Dirty hack to use null values in Composable.
Merge pull request #31 from rstoyanchev/refactor-task

Encapsulate common logic to execute a task
Fix a race condition with take()
update logger type
fix #32
Tweak fix for #32.
Correct Composable creation in throughput tests

Fixes #33
Always cache empty results in CachingRegistry

Previously, if there were no registrations, CacingRegistry short
circuit its logic and return an empty list without updating the cache.
This meant that, when there were no registrations, every call to
select would result in an expensive cache miss.

 - Update CachingRegistry to cache results at all times.
 - Improve unit tests to verify caching behaviour.

 Completes #37
fix #34 - reintroduce $()
#34 build failure fix
Update Promise's state handling to be thread-safe

Remove state from Promise and use the state that's already tracked by
Composable instead. Add isError, isSuccess and isPending methods to
make this state available to clients.

Fixes #40
Fixes #35
Merge branch 'thread-safe-promise-state'
Polishing

Remove dead code
Tweak javadoc for Promise.
Add test for await.
Changed the way R.schedule runs tasks. Before, the behavior was to create a new anonymous Selector, register that on the given Observable, call notify so that given Consumer gets invoked in the context of the Dispatcher and gets past the given argument.

Now, R.schedule relies on an implicit Consumer on the passed Observable that is responsible for running tasks. This is more efficient in that it uses the default Selector rather than creating new ones all the time, and it doesn't incur the cache miss of a new Selector to make it more efficient for use in large sets of tasks in a batch situation. Because of this, it's somewhat related to #27.
Bump up time allowed for logback appender tests to get around false negatives.