More sensible Future.sequence/collect on empty seq.

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