Implement Splitview

* This pr creates a split view of either side-by-side or upper-lower views of 2 different files.
* From the View Menu select "Split Vertically" or "Split Horizontally" to create a second pane. 
* Selecting the menu item again will collapse the panes down to a single pane (merging the two working sets and showing the current view)
* Selecting the opposing menu item will just reorient the views without disturbing the documents
* A blue outline currently denotes the active pane.  Functions such as opening a document, searching, etc... will target the active pane.  Functions like Close All will target both panes and close all documents.
* Lint will work on the currently focused editor
* Images are not supported and viewing images has been disabled in this build
* The UI as it works now is temporary.  A UI treatment story will come next with @larz0 UI treatments

Known Issue:
https://github.com/adobe/brackets/issues/8513#issuecomment-49796161
The selection is getting reworked with @larz0 UI treatment and will be addressed at that time

This is a rebased branch and replaces #8522 for merging into master
@JeffryBooher How come this is necessary for HTMLDocument, but not CSSDocument or CSSPreprocessorDocument?  All three of them have a detachFromEditor() that needs to get run...

I'm also not clear on why this change is needed, though.  It already listens to `"activeEditorChange"`, which _should_ be enough to always clean up when needed.  Was this added for a unit test or something maybe, where the EditorManager events weren't firing?