Initial implementation of Quick Edit grouping the results list by file, in
collapsible sections.

Also, remove async code from _updateSelectedMarker() (seems to be a very
old remnant from when we allowed scrolling in the rule list, which we don't
anymore) and stop returning a Promise (no one was using it anyway).
Quick Edit grouping fixes:
- properly persist collapsed sections preference (explicit layerID required)
- adjust inline widget height when sections collapsed/expanded
- fix bug where collapsed sections popped back open after add/remove rule
- show message when all results are in collapsed sections

Plus some cleanups:
- document messageCB & labelCB better
- remove unneeded fixed height on $relatedContainer
- cleanup unused args to sizeInlineWidgetToContents()
Merge remote-tracking branch 'origin/master' into pflynn/quick-edit-grouping

* origin/master: (182 commits)
  Fix unit test failure -- file-read wasn't always passing back correct error codes anymore. If the initial stat() fails (e.g. file doesn't exist or permission denied), we were double-converting the error code from brackets-shell format to FS impl API format, causing it to get mangled and treated as "Unknown."
  Limit document file sizes to 16MB on open
  fix definePreference
  auto-install extensions
  Updated .not-editor styling based on @TomMalbran's feedback.
  Added subtle border for dark menus.
  Pushing sidebar icons to the back of Working Files label when they overlap.
  Project dropdown toggle needs right margin.
  Making sure that the anchors in jstree will never show a hover state.
  Fix live dev highlight being out of place in edge cases
  Fix for #9545.
  Made unfocused pane look unfocused.
  Initial commit. Added necessary properties in order to override bootstrap styles. This branch is for #7887.
  Recognize Vagrantfile as ruby
  Replace HTML entity with literal dash in Getting Started
  Update strings.js
  Update strings.js
  Fix bug #9511 (Can't select text in Extension Manager anymore) - Remove no-focus from dialog root to allow text selection. Change scope of key listener so tabbing continues to work without needing to reintroduce tabIndex on the dialog, since that triggers Bootstrap-modal problems (#9196).
  corrected typo in 'bootstrapping'
  Working Performance Set Improvements
  ...
- Consistently sort files: CSS below preprocessors, then sorted by path &
filename within each half. Share sorting code with New Rule dropdown &
Find in Files. This changes the FiF sort order to place less-nested files
higher instead of lower; and changes the New Rule sort order so folders
dominate instead of filenames (placing sibling files adjacent, instead of
files with the same name in very different folders).

- Fix unit tests to account for new sorting behavior (should fix some tests
that failed sporadically before due to nondeterministic rule list order) and
for new DOM structure (file-header <li>s).

- Show full path in file heading tooltip.
- If newly added rule is in a collapsed item, expand it for clarity.
- Exception to logic that skips collapsed groups when picking the initially
selected result: If there's only one result, select it even if in collapsed
file - since the rule list is hidden for single results, there's no way to
expand & select it otherwise.
- Fix an old but seemingly harmless bug in containsClick().
- Simplify code that renders the rule list (esp _createListItem(), which
had some dead code after earlier cleanups in the Quick Edit grouping work)
- Add unit tests for collapsed groups & add new checks to some existing
tests
Merge remote-tracking branch 'origin/master' into pflynn/quick-edit-grouping

* origin/master: (29 commits)
  - bump phantomjs version to 1.9.11 to avoid errors building brackets
  Provide a strong boost for upper case matches.
  Removed unneeded code
  Remove spy attached to getStyleSheetFromBrowser()
  Remove unused var (yay JSHint!).
  Handle case matches on special characters (extra boost).
  Make sure an item being renamed is displayed in the tree.
  Properly handle FS events for directory in the file tree.
  Stop filtering when the first match was found
  Use FindUtils method
  Code review changes
  Add Case Boost to StringMatch
  verify there's an error
  auto-install unit tests, bug fixes, code cleanup
  Proper shortcut for reload with extensions for Mac
  Increase Tern timeout to 30s.
  Remove unwanted change
  Remove the collapsed class
  Keep query and replace text when switching between Replace and Replace In Files
  Make Inline Widget content selectable again
  ...
- Quick Edit: if user expands collapsed section and nothing selected yet, select first result in this section With unit tests.
- Quick Edit: Alt-Up/Down now skip collapsed sections (unless selection is in one, in which case the section is auto-expanded. With unit tests.
- Remove ".collapsed" style from Quick Edit section headers since #9548 has
removed it. Update unit tests to reflect this.
- Make section header result counter font-weight: normal, not semibold
- Tweak Quick Edit results list padding, per @larz0
- Fully remove defunct 'force' arg from sizeInlineWidgetToContents()
- Docs tweaks for code review
Quick Edit: don't show filename on each result item anymore, since it's
redundant with the file-section header. Fix unit tests for this formatting
change & make them more robust to future such changes.
Merge pull request #9614 from adobe/pflynn/quick-edit-grouping

Quick Edit result grouping