Fix a few runtime issues with Dart 2; s/retype/cast (#87)

diff --git a/packages/file/lib/src/backends/record_replay/replay_file_system.dart b/packages/file/lib/src/backends/record_replay/replay_file_system.dart
index c5c0497..37ebf64 100644
--- a/packages/file/lib/src/backends/record_replay/replay_file_system.dart
+++ b/packages/file/lib/src/backends/record_replay/replay_file_system.dart
@@ -75,8 +75,9 @@
     if (!manifestFile.existsSync()) {
       throw new ArgumentError('Not a valid recording directory: $dirname');
     }
-    List<Map<String, dynamic>> manifest =
-        new JsonDecoder().convert(manifestFile.readAsStringSync());
+    List<Map<String, dynamic>> manifest = new JsonDecoder()
+        .convert(manifestFile.readAsStringSync())
+        .cast<Map<String, dynamic>>();
     return new ReplayFileSystemImpl(recording, manifest);
   }
 }
diff --git a/packages/file/test/recording_test.dart b/packages/file/test/recording_test.dart
index 17a189c..d485cfa 100644
--- a/packages/file/test/recording_test.dart
+++ b/packages/file/test/recording_test.dart
@@ -197,7 +197,7 @@
         await rc.futureMethod('qux', namedArg: 'quz');
         await rc.streamMethod('quux', namedArg: 'quuz').drain<void>();
         List<Map<String, dynamic>> manifest =
-            await encode(recording.events).retype<Map<String, dynamic>>();
+            await encode(recording.events).cast<Map<String, dynamic>>();
         expect(manifest[0], <String, dynamic>{
           'type': 'set',
           'property': 'basicProperty=',
@@ -837,7 +837,7 @@
       (FileSystemEntity entity) => entity.basename == kManifestName);
   return new JsonDecoder()
       .convert(manifestFile.readAsStringSync())
-      .retype<Map<String, dynamic>>();
+      .cast<Map<String, dynamic>>();
 }
 
 File _getRecordingFile(LiveRecording recording, String manifestReference) {