Integrated editor with ContentProviders

This is a big PR, but was as small as I could manage.  This integrates ContentProviders into the editor, NavigationManager, tabs, events, file selection (when dealing with files), file search, closing, and parts of rename.

Note: Commit https://github.com/dart-lang/chromedeveditor/commit/21d194ff1ad7274397632982b793bbdee184a3a2 should have read: Handled tabs, events, comparator, `NavigationManager`, and openFile instead of `TEMP`

Fixes #3433
Review @devoncarew 
I think we need to switch the search stuff back to referencing files rather than content providers. It's not searching open tabs, but the workspace contents.