move the engine download code to dart (#3180)

* move the engine download code to dart

* fix populating the bin/cache/pkg dir
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart
index e324451..876c832 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
@@ -9,7 +9,6 @@
 
 import '../application_package.dart';
 import '../build_configuration.dart';
-import '../cache.dart';
 import '../dart/pub.dart';
 import '../device.dart';
 import '../flx.dart' as flx;
@@ -128,9 +127,7 @@
     }
 
     // Populate the cache.
-    MaterialFonts materialFonts = new MaterialFonts(cache);
-    if (!materialFonts.isUpToDate())
-      await materialFonts.download();
+    await cache.updateAll();
 
     _setupToolchain();
     _setupApplicationPackages();