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.