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 
You could also fail in a non-fatal way:

    return new Future.value(svc.Declaration.EMPTY_DECLARATION);