Devoncarew dart2js multi file

Convert the dart2js compiler service over to handle compiling files, instead of strings. This builds off the work on the dart analyzer service, to call back to the DOM to get file content.

- compilation server calls the compiler service files API instead of as a string
- added a new `Future<CompilerResult> compileFile(File file)` method to the compiler interface
- added several integration tests of the compiler service
- compiler service now calls into the DOM to get the file contents, and can handle resolving path relative references

@umop