More sensible RFuture.sequence/collect on empty list.

Previously passing an empty list of futures would return a future that was
never completed. Now we return one that is already completed successfully with
an empty list.

Closes #4.