Add new apis for view state migration and convert the remaining old preferences to the new apis.
Fix the hang issue when viewing a search result with state.json file open.
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
Initial working implementation.

Missing documentation, test failures. This is primarily for review.
Document Async.waitForAll.
Fix unit tests.

Clean-up all the structures on remove: remove/add is used to setup the
tests.
Document the implementation.
Implement view states migration from the old preference model.
Fix project scope failure.
Added language self names in strings-app.js that will be used in favor of localized version for switch language menu
Merge remote-tracking branch 'origin' into rlim/view-state-migration

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
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
Reinstall "user" backed by memory if load fails

"user" scope is treated differently than the rest of the scopes. if it
fails, then "user" scope is installed using memory storage.
additionally, when it fails due to ParsingError, the user is warned and
the configuration file is loaded so that it could be fixed.
Fix JSHint error.
Add deprecation warnings for the old APIs.
Fix unit test failures.
Revamped editor option handling to cover #6578
Sends notifications for default filename changes.

This fixes linting.enabled, for example.
Fix JSHint error