Adds option for strongly preferred prefix and single segment search.

These options make stringMatch produce useful and predictable results in cases that are not
quite the same as file searching (such as code hinting).
Turn on preferPrefixMatches for JS code hints.

Adding this option to string matching provides a fix for #3534 by putting
the matches at the same score and using the scope as a tie breaker.
Extract function to create prefix search result.

...and some other small changes based on review feedback
Allow mulitple modal dialogs to work together by maintaing a stack of keydownHandlers, only the top-most of which are enabled.
Rename keydownListeners to _keydownListeners and add JSDoc type annotation; port over @njx's escape-handler fix from 3c6bafd55ccce27644f5aec7eae75981e91ec316.
fix unit tests, and explain why they are hacky
Merge branch 'master' into dangoor/prefer-prefix

Conflicts:
	src/extensions/default/JavaScriptCodeHints/main.js
Rename singleSegmentSearch StringMatch option to segmentedSearch. Defaults to false
(which is a change in behavior for quick navigate that should actually be fine for
those uses). Also augmented the test cases based on review feedback.
Load default JSLint enabled status from a config file.
destroy modalBar after last occurence is replaced
Quick Open plugins can include matcherOptions to set StringMatch options
Fix for #3589. In code hints, sort leading _ names to bottom.

This also alters StringMatch.multiFieldSort to use an array to define the sort order,
though I stopped short of deprecating the old { key: priority } format.
apply file exclusion to the current directory
Merge pull request #3828 from dloverin/exclude-files

apply file exclusion to the current directory
Change StaticServer unit tests to share the NodeConnection Deferred to detect connection. Cleanup logging event handlers.
Merge pull request #3815 from adobe/randy/issue-3748

Destroy modalBar after last occurence is replaced
Merge pull request #3588 from adobe/dangoor/prefer-prefix

Add QuickOpen / StringMatch options for strongly preferred prefix and unsegmented search weighting.
Merge pull request #3822 from adobe/dangoor/3589-underscore-names

Fix 3589 sort _ names to the bottom.
just do what the test says and don't try to get too fancy
Merge pull request #3803 from adobe/randy/issue-3794

Fix unit tests for increment/decrement font size