Simple parsing of EditorConfig files.
Added tests for EditorConfig classes
Added code to check for extra options
Fixed tests and added test for extra options failure.
Moved EditorConfig to editor_config.dart
Setup EditorConfig for traversing filesystem to find best suitable option (introduced chrome FileEntries).  Moved specifics of EditorConfig to sample class (SparkEditorConfig for now)
Quick-start tests for convenience
Refactored so that a more abstract ConfigFile, ConfigSection, etc handles the general format that EditorConfig uses (globs in ini) and traversing of the filesystem, while EditorConfig handles the specific EditorConfig options.  Also moved editor_config tests into their own file.
Revert "Quick-start tests for convenience"

This reverts commit f7615cb260ab2b720ef279c7fd35e6c674f919da.
Fixed handling of files not found and passing in workspace.File instead of FileEntry so we can look at file.project to find out if we have reached project root.  (Temporary testing in spark.dart RunTests action)
Fixed sections issue where no items exists, firstWhere would fail.  Removed redundant code.  Added PartialPathMatcher to match part of path if glob is not absolute.
Added filesystem test to editor_config_test
Handling of full path matching vs partial path matching.  Rewrote tests to build projects and wait for all filesystem functions before running EditorConfig tests.
Cleaned up and documented.  Fixed a test
Review fixes
Merge pull request #3746 from ussuri/small-fixes-4

Fix NPE when removing last project from workspace
Merge branch 'umop-preferences-editorconfig-parse-simple' of https://github.com/dart-lang/spark into umop-preferences-editorconfig-parse-simple
Merge branch 'master' of https://github.com/dart-lang/spark into umop-preferences-editorconfig-parse-simple
Review fixes
Merge pull request #3713 from dart-lang/umop-preferences-editorconfig-parse-simple

Full EditorConfig parser with filesystem traversing, error reporting, and tests