Merge pull request #94 from dart-lang/future

Changes to eliminate Future flattening in Dart 2.0