Import dart:async when using Future to support Dart 2.0.0 (#22)

Fixes https://github.com/dart-lang/package_resolver/issues/23
diff --git a/.travis.yml b/.travis.yml
index 8f4447d..538a8c7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,16 +2,14 @@
 
 dart:
   - dev
+  - stable
+  - 2.0.0
+
 dart_task:
   - test: --platform vm
   - test: --platform firefox
-
-matrix:
-  include:
-    - dart: dev
-      dart_task: dartfmt
-    - dart: dev
-      dart_task: dartanalyzer
+  - dartfmt
+  - dartanalyzer: --fatal-infos --fatal-warnings .
 
 # Only building master means that we don't run two builds for each pull request.
 branches:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c3dd179..7590f16 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.0.8
+
+* Fix issue on Dart `2.0.0`.
+
 ## 1.0.7
 
 * Use conditional imports to avoid `dart:isolate` imports on the web.
diff --git a/lib/src/current_isolate_resolver.dart b/lib/src/current_isolate_resolver.dart
index 63bf716..dcd5822 100644
--- a/lib/src/current_isolate_resolver.dart
+++ b/lib/src/current_isolate_resolver.dart
@@ -30,6 +30,7 @@
 
   Future<Uri> get packageConfigUri => Isolate.packageConfig;
 
+  // ignore: deprecated_member_use
   Future<Uri> get packageRoot => Isolate.packageRoot;
 
   Future<SyncPackageResolver> get asSync async {
diff --git a/lib/src/utils_isolate.dart b/lib/src/utils_isolate.dart
index a58c4db..b197429 100644
--- a/lib/src/utils_isolate.dart
+++ b/lib/src/utils_isolate.dart
@@ -2,6 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'dart:async';
 import 'dart:isolate';
 
 Future<Uri> resolvePackageUri(Uri packageUri) =>
diff --git a/lib/src/utils_isolate_stub.dart b/lib/src/utils_isolate_stub.dart
index 4639b97..b5071ac 100644
--- a/lib/src/utils_isolate_stub.dart
+++ b/lib/src/utils_isolate_stub.dart
@@ -2,5 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'dart:async';
+
 Future<Uri> resolvePackageUri(Uri packageUri) =>
     throw UnsupportedError('May not use a package URI');
diff --git a/pubspec.yaml b/pubspec.yaml
index ebf36e7..eba6244 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,12 +1,12 @@
 name: package_resolver
-version: 1.0.7
+version: 1.0.8
 
 description: First-class package resolution strategy classes.
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/package_resolver
 
 environment:
-  sdk: '>=2.0.0-dev.37.0 <3.0.0'
+  sdk: '>=2.0.0 <3.0.0'
 
 dependencies:
   collection: ^1.9.0
diff --git a/test/current_isolate_info_test.dart b/test/current_isolate_info_test.dart
index 4891bc9..d0573c3 100644
--- a/test/current_isolate_info_test.dart
+++ b/test/current_isolate_info_test.dart
@@ -8,13 +8,12 @@
 import 'dart:io';
 import 'dart:isolate';
 
+import 'package:package_resolver/package_resolver.dart';
+import 'package:package_resolver/src/utils.dart';
 import 'package:path/path.dart' as p;
 import 'package:stack_trace/stack_trace.dart';
 import 'package:test/test.dart';
 
-import 'package:package_resolver/package_resolver.dart';
-import 'package:package_resolver/src/utils.dart';
-
 void main() {
   // It's important to test these, because they use PackageConfig.current and
   // they're used to verify the output of the inner isolate's
@@ -224,6 +223,7 @@
   var errorPort = new ReceivePort();
   try {
     var isolate = await Isolate.spawnUri(data.uri, [], receivePort.sendPort,
+        // ignore: deprecated_member_use
         packageRoot: await packageResolver.packageRoot,
         packageConfig: await packageResolver.packageConfigUri,
         paused: true);