[REVIEW_ONLY] 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

I encourage anyone who has cycles to test this.  Obviously this is a big change and needs quite a number of eyes on it.
This doesn't do what EditorManager.focusEditor() did... In particular, if the last-active editor was an inline editor, focusEditor() would restore focus to it -- while in this case, we'll send focus to the host editor instead.

If we don't want to get EditorManager entangled in this again, there are a couple approaches we could take:
* Make views support a save/restoreFocusState() API, so Editor views can remember which nested Editor had focus and reinstate it correctly later.
* Just track DOM focus in general, and offer a restoreFocus() API that puts focus back to wherever it was the last time it was inside MainViewManager's DOM subtree.  (Without needing to call any View's focus() API).

I think the 2nd option is a bit better because it's less work for View impls, and because we've been thinking about baking behavior like that into Dialog anyway so it's good to get this precedent going.  (One Dialog has that behavior built in, we'd actually eliminate many of the calls to this API that currently exist... so that'll be a nice cleanup someday).