Remove welcome project duplicate fix

Clean up welcomeProjectsFixed code - Issue #2823
Keyboard shortcut for open folder
make apostrophe lass fancy (#3976)
fix italian
undo/resubmit italian
update usage of new Dialogs API: done() does not chain, command handlers should return a promise.
update not yet translated version of Italian page to current English page
Backend changes to check extension update needs.

Exposing ALREADY_INSTALLED state to the UI.

completely handles the case of an already installed extension the installation of which
is canceled at confirmation time.

Install extension dialog handles NEEDS_UPDATE case and also passes
along the installed extension information to the caller.

Extension Manager now displays update mark and allows undo.

Checkpointing frontend work for installing update

Supports installation of updates.
Add ability to create multiple global key handlers that override KeyBindingManager. Refactor dialogs and code hints to use this.
Synchronized the menu sections with the current menus
Always listen for sidebar resize.
Fix the minor review comments for extension update.
Fix for Issue #3942: [quick edit] in HTML file, quick editor shows function found from other file, not one in current file

The Jump-To-Definition part of the search was finding the function in the .html file, but
the following part of the search -- the old QuickEdit search -- only looked in .js files.
Change ExtensionManager to track legacy extensions by directory name.

This makes the behavior consistent with how the Node code tracks
legacy extensions for installation and enables the update code to work.
Different messages for non-upgrades.

Display a different warning message if the version being installed
is the same or older than the currently installed version (rather than
the generic "already installed" message that we display when we don't
have a package.json).
Bug fix for same/older version installation.
Only load fully installed extensions.
add missing test file.
Minor fix so that installed zip files are deleted.
ShellAPI should expect commands to return undefined or a promise