Adds Scope aliases and named contexts.

The integration tests aren't passing yet, but this adds the infrastructure
to support CURRENT_FILE and CURRENT_PROJECT lookups. Additional work remains
for ensuring that prefs for a specific file work properly and to improve
event dispatch to better support these new contexts
Fix project scope failure.
Line drawn here (implementation change to come).

This was the starting point of a refactoring to better handle a larger, disjoint
set of path-based Scopes. I can see complexity brewing and I don't think it's
worth it for path-based Scopes. After this commit, I'm going to yank out all of
the path-based Scopes code and switch to simpler, project-based approach.
Reverting some of the changes
Revamped editor option handling to cover #6578
Sends notifications for default filename changes.

This fixes linting.enabled, for example.
Fix JSHint error
Project prefs no longer apply to files outside the project.
`PreferencesManager.set` now handles contexts the same way as `get`
Last bit of cleanup.

* Changed `Editor.optionChange` event to send Brackets preference names
* Updated the doc comments for the editor options functions in Editor.js
* Fixed setValueAndSave to use the new behavior.
Minor cleanup suggested by @busykai
Makes reusable context objects for searching in project scope
Fix bug with scopeOrder lengthening
Changes based on review comments
Fix JSLint error
Add Toggle Comment support for several more languages
Removes the Browse Extensions button in the default configuration.

This is a fix for #6800. If the extension_wiki_url configuration option is not
set, the Browse Extensions button will not be displayed. In the default Brackets
configuration, this value is no longer set.
Addresses review comments for browse extensions button.