Unit tests for block comment, line comment on empty lines, line comment
auto-switching to block comment & vice versa, and commenting in mixed
syntax modes.

The commented-out tests don't pass yet.
Merge remote-tracking branch 'origin/master' into pflynn/block-comment-unittests

* origin/master: (154 commits)
  Made ContextMenu actually call its superclass constructor (instead of assigning a new menu to this.menu, which isn't actually used).
  Increase test timeout when requesting a native file system for a drive.
  Code review: add testcase for nonempty invalid regex; remove unneeded JS dependency.
  Align equals signs
  Code review cleanups
  Code review cleanups
  rename back to copyPath()
  fix jslint errors
  code review comments
  more code review comments
  Small jsdoc fix in _fsErrorToDOMErrorName
  For #2310, consider an empty line number query valid, but show error if the line number is out of range of the editor
  code review comments
  Use scrollTop instead of scrollIntoView for #2130
  Add a few more unit tests for Find. Update unit-test harness files to include this suite.
  Rename _nativeToFileError to _fsErrorToDOMErrorName
  Increase timeout when waiting for a new NativeFileSystem to be created.
  Global FileError.* and error.code refactor
  External NativeFileError
  Fix jsdocs and change _nativeToFileError signature
  ...
Merge remote-tracking branch 'origin/master' into pflynn/block-comment-unittests

* origin/master:
  Forgot to fix up other callers to functions with changed signature
Update block-comment unit tests to account for pull reqs #2121 (handle line
comments differently), #2133 (single-line block comment mode when Line
Comment invoked in CSS/HTML/etc. - enable test coverage), and #2148 (don't
replace whole selection - which means tests must work around #2335).
Add more tests & change expected behaviors per #2337 and pull #2342.
Clarify comments now that code's expected behavior follows simpler rules.
Fix: Move Line Up/Down collapses inline editor when moving past the start/end
Enabling moving last line up
More block-comment unit tests: cases where selection extends outside bounds
of multi-line comments (per NJ); cases where selection edges are in
whitespace (tricky cases in current implementation since token info is
ambiguous); case with two immediately adjacent block comments.
Fixing the last line move up
Adds sass support

This commit requires that codemirror be updated to include sass first.
I have already submitted this change
Add support for opening files at startup.
Save & restore scroll pos & cursor/selection of working set files across
sessions, and of ALL files within a single session.

Simplify how DocumentManager saves working set state via a new
"beforeAppClose event". There's one ugly bit, a hack in EditorManager.
_restoreEditorViewState() to get around some CM API fragility.

Also save & restore scroll pos more precisely in Quick Open when user
closes it via Esc. Remove some vestiges of the very early, incomplete &
disabled code that dynamically previewed documents as you type. Plus small
cleanup in ModalBar for clarity.
Update src/editor/Editor.js
Update src/editor/EditorCommandHandlers.js
Update src/editor/EditorManager.js
Dispatching focus event and removed require
Normalized Line Endings and added .gitattributes
Update src/editor/EditorManager.js
Update Getting started screenshot, styling for 'es' locale
Fix bug #2813 (Go to Definition can't find toString() methods) - Use
hasOwnProperty() with StringMatcher caches instead of simple truty checks
that will see Object.prototype members too.
Add unit tests for StringMatcher & JSUtils to cover this (JSUtils already
works, but that might have just been luck; it's equally as susceptible).

Plus a few docs clarifications in code I ran across while doing a quick
skim for other instances of this bug.