ReloadableSModelBase: replaceModel functionality generalized (and simplified) into SModelBase
MPS-20554 Deadlock on MPS start: CaretBlinker - reduce deadlock chances by avoiding idea component access from within a thread; LibraryContributors - do not block application loading thread (prevents deadlock due to synchronized createComponent).
Drop deprecated SModelUtil.findNodeByFQName.
StructureAspectChangeTracker: unload and replacement of structure model constitute structure change.
Allow any SRepositoryListener to get notified about attach/detach to a repository (not only SRepositoryContentAdapter).
Drop GlobalSModelEventsManager and SModelRepositoryListener in favor of StructureAspectChangeTracker.
Assume only listeners interested in a repository are going to read it. This mimics behavior of SRepositoryContentAdapter.subscribeTo() method (does checkRead).
When a repository is added to SRepositoryRegistry, there are chances existing listeners might access content of a newly added repository, hence we require read access. Perhaps, the read lock shall be external (caller's responsibility).
Merge remote-tracking branch 'origin/master' into 3.2/artem/default

Conflicts:
	editor/editor-runtime/source/jetbrains/mps/nodeEditor/CaretBlinker.java
Refactor ModelGenerationStatusManager to use SRepositoryListener instead of SModelRepositoryListener.
Better name for base SRepositoryListener implementation (deprecate SRepositoryAdapter, fix uses).
Refactor OnReloadingUndoCleaner: replace deprecated SModelRepositoryListener with SRepositoryListener
Update model file to reflect changes in the source code
Merge remote-tracking branch 'origin/master' into 3.2/artem/default
Workaround for IdeaPlugin tests to pass when fix for MPS-20566 is applied.
Merge remote-tracking branch 'origin/master' into 3.2/artem/default
Better preferred size for dependency scope to fit long 'generation target' label.
fix conceptIds generator
rebuild all structure aspects
rebuild language descriptors
make project