Add process in background options to doSequentially

Do sequentially can now be used to process a list of tasks in time
slices so long-running processes don't block up the UI.
DirtyDocumentTracker and timestamp optimizations for JS Quick Edit
Remove log statements
Updating ContextMenuTest example extension
Optimizations to JSUtils
Remove global window. Use isArray instead of duck typing.
move code that prevents native browser context menu from brackets.js to menus.js
Working on unit tests for context menus
Changed context menus to use contectmenu event instead of mousedown
Merge remote-tracking branch 'origin/master' into tvoliter/context-menus

* origin/master:
  Code review. Docs for logTestWindow. Fix usage of finalizeMeasurement.
  Code review comments. Add getDocumentForPath measurements to JSUtils perf tests.
  add comment for createPerfMeasurement
  fix submodule
  Removed debugger call
  Fix bug in Menus.addMenuItem() when passing a command directly instead of its ID
  prevent context menu from being clipped
  fix merge error
  fix codemirror submodule
  squashed js-quick-edit-perf
  - New unit test for line endings on save - New unit test for ref counting and Editor "GC" (related to recent Document   API changes) - Add util waitsForDone() for tests to wait on a Promise easily (wraps   waitsFor()) - Add util SpecRunnerUtils.deleteFile() to consolidate fs.unlink() usage - Clean up DocumentCommandHandlers-test to use the above utils and to use   FileUtils instead of raw brackets.fs calls - Re-enable undo-related dirty/clean unit test now that it's expected to work - Fix bug in unit test runner where trying to run a single suite also runs   all suites for which its name is a prefix
  - Remove Editor._getText()/_setText(). Former callers now use Document or   raw CodeMirror APIs depending on circumstances. - Fix bug where Document._text has wrong line endings after _makeNonEditable()   (there was no user-visible bug though, since getText(true) is currently   only called for dirty documents) - Minor docs cleanups
  Document API work: * Rationalize getText()'s default line endings with other text getters * Don't leak in the case where a Document auto-creates its master Editor   but that Editor is never shown in the UI * Move Editor.getLineText() -> Document.getLine()
  First pass hoisting CodeMirror.replaceRange() and operation() up to Document. Docment APIs now automatically ensure _masterEditor exists when needed instead; however this may go awry if the Document is not guaranteed to wind up in the working set or the current editor after the API call is complete.
working on context menu tests
Merge branch 'refs/heads/master' into jason-sanjose/jsquickedit-timestamp

Conflicts:
	src/extensions/disabled/JavaScriptInlineEditor/JSUtils.js
	src/extensions/disabled/JavaScriptInlineEditor/unittests.js
Show "(None)" in PerformanceReporter when measurement does not exist.
fix CodeMirror SHA
Add sum of regexp timing
Add perf logging for offset calc
Add hierarchy to PerformanceReporter results
Fix bugs when printing nested results
Code review comments part 1
Code review comments
Merge branch 'refs/heads/master' into jason-sanjose/jsquickedit-timestamp