Merge pull request #12 from dart-lang/future

Changes to eliminate future flattening