Exclude files from Find in Files operations

Implements [Find in Files exclusions](https://trello.com/c/7Svh6B4Z/1085-exclude-files-folders-from-an-individual-find-in-files-operation) user story, with basic unit tests.

* New FileFilters module manages the UI (picker widget & editor dialog), glob-matching APIs, and last-used filter preference.
* New DropdownButton widget hoisted out from CSSInlineEditor -- this will _later_ be reused as a filter picker UI once we support [saving multiple. separate filters](https://trello.com/c/4EQI1XwC/1137-2s-save-edit-multiple-different-file-exclusion-sets).  Originally this story also called for a dropdown widget, so now that it's already implemented it seemed simpler to leave this change in the diff.  (It also removes about 100 lines of code from the CSSInlineEditor module).
* Switches search bar to use the standard ModalBar `autoClose` behavior, rather than its own one-off focus tracking logic.
* Enhances ModalBar with two new capabilities:
    * Can specify an `isLockedOpen()` function that keeps the bar open regardless of focus changes. Needed for existing Find in Files functionality - bar stays open while search in progress.
    * Popups launched from widgets inside the bar can take focus without closing it (even when parented to `<body>`) if they specify an "attached-to" attribute pointing back at the widget inside the bar. Needed for newly-added picker dropdown.