workspace changes to support sync files
addressed comments
Merge pull request #466 from dart-lang/ws

workspace changes to support sync files
Open new tab

If forceOpen is true, then a new tab should always be opened, even
if the file is currently selected in the editor
mend
File type persistence and preferences
Moved instance to static final
Editors are now file type aware
Removed changes made for unrelated issue
Merge branch 'file_type_persistence' of https://github.com/ovangle/spark into file_type_persistence