Load core extensions before user extensions

This eliminates a race condition where core extensions and user extensions load in parallel, meaning that sometimes a core extension might initialize after some user extensions.

Now we wait for all core extensions to load first.  This fixes bug #5442, and fixes longstanding glitches with inconsistent menu item ordering.

There's also a fix to ensure that, when a new linter is installed via Extension Manager, the results panel updates to reflect it right away.