Replacement build system for Dart projects

**Not ready for merging**

This PR adds custom infrastructure for bulding Dart files. It already provides almost the same level of funcionality as the existing build system tasks, and adds a couple of features.

For now, this new build system and the previous one will co-exist, contributing to some degree of redundancy, but it should be fine. Once all of the old features have been ported, the old build system will most likely disappear.

**Features**

- Two convenient actions per file type: `F7` (*primary*) and `Ctrl+F7` (*secondary*)
- Smart(er) file detection: knows when it's dealing with *pubspec* vs a *.dart*  file. Cannot yet detect a cmdline app vs a web app.
- Should not interfere with the regular build systems. For example, if you're using multiple build systems, your choice of build system for the current file should be preserved (if it isn't a .dart or pubspec file).