Fix #5275: $1 and so on now work with replacing with RegEx

Fixes #5275
Recent Projects - Pressing delete key removes project from list
Add Menu.removeMenuDivider()
Add Menu.removeMenuDivider unit tests
Remove all menu items before removing menu
Fix problem with removing dividers.  Add remove menu (native) unit tests.
Merge remote-tracking branch 'upstream/master' into patch-6
My try to improve the replace() function
Make the project-dropdown-toggle toggle the dropdown menu
Allow event propogation even when there is no dropdown item.
Wait until all core extensions are loaded before loading user extensions.
This makes menu ordering more consistent, and fixes bug #5442 where the
order of registration matters.

Also change extension loading to work with arrays most of the time, avoiding
bugs if there are ","s in pathnames.

And fix stale comment in ExtensionManager.
Fix wrong path of Getting Started directory in Polish version
Add no-focus style to inline close button
changing not.toBeNull to toBeTruthy
:
changing all not.ToBe(null) to toBeTruthy()
Ensure linting results update when a new linter is registered that might
affect the current file. Linters can register very late due to on-the-fly
Extension Manager installs.
Replace not.toBeNull() with toBeTruthy()
Added Serbian translation
Incremental clean up of paths without trailing "/":
- Rename FileUtils.canonicalizeFolderPath() to stripTrailingSlash() since
it actually makes paths NOT canonical. Old API left in place with
deprecation warning for now.
- Add warning to docs for a few other APIs that return non-canonical paths:
FileUtils.getNativeBracketsDirectoryPath(), FileUtils.getNativeModuleDirectoryPath(),
ProjectManager.getInitialProjectPath(), ProjectManager.updateWelcomeProjectPath()
ProjectManager._getWelcomeProjectPath()
- Indicate explicitly which ProjectManager APIs support receiving
non-canonical paths
- Centralize code that touches welcomeProjects storage pref for clarity

What this does NOT do:
- Fix the other APIs listed above that still return non-canonical paths
- Fix non-canonical first-launch project path given to _loadProject()
- Fix non-canonical paths used in RecentProjects prefs
- Fix non-canonical paths used in welcomeProjects pref
- Fix ScopeManager, which in some places requires canonical paths and
in other places requires non-canonical paths
Fix some APIs to work with canonical paths (ending in "/") instead of non-
canonical:
- ProjectManager.getInitialProjectPath() - always returns canonical
- ProjectManager._getWelcomeProjectPath() - always returns canonical
- ProjectManager.updateWelcomeProjectPath() - arg assumed to be canonical &
always returns canonical

None of these APIs are used in extensions.

This does NOT change the underlying "welcomeProjects" pref - like
"recentProjects", it still stores paths without trailing "/" under the hood