handle errors while building

@umop

- fix an issue where we were sending `null` values in for files added to an analysis context
- in some cases, exceptions when analyzing would not be reported back across the isolate properly. This would cause the Dart builder to run indefinitely.