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

- Defined class EditorConfig to parse and validate EditorConfig content.
- Added tests to check for correct values and extra options

No actual glob logic attached at present.

@devoncarew @gaurave 

Fixes #3435
It looks like an .editorconfig file will need to exist in the same directory as every file we want to get preferences for (this code seems to look for file.getParent().getFile(.editorconfig)).

Also, I think the file will be parsed for each time we want to query for settings for a file in a directory.