WEB-10567 Implemented a way to stop run configurations when starting incompatible ones. The idea is that some run configurations may implement CompatibilityAwareRunProfile.isCompatibleWith method and signal that they are not compatible with the run configuration being started so a dialog is displayed to a user and the user can choose to stop incompatible configurations. +review CR-IC
Merge remote-tracking branch 'origin/master'

* origin/master: (79 commits)
  Platform: check and warn when trying to edit non-project files
  gradient colors for buttons
  initial
  cleanup
  IDEA-121494 (Inspection "method overrides private method" can be improved)
  add table header with sorters
  always use gradient
  diff: fix UnknownFileType detection
  re-arrange downloads label
  github: remove usage of deprecated VcsNotifier API
  [log] IDEA-117553 Optimize details loading: don't parse Changes at once
  134->136
  Cleanup (common method; pointless assertion; formatting)
  nashorn: continue variables presentation simplify V8Scope
  dfa: treat different constants with same values as same (IDEA-121837)
  Rebase feature for update project implemented
  Increment hours in comments
  IDEA-121835 "Breakpoints" UI looks clumsy
  always fold long command line in console (IDEA-121453)
  some CharSequence utility methods
  ...
Merge remote-tracking branch 'origin/master'

* origin/master: (46 commits)
  partially reverting 10f6a0f: psi depedent index get buffering status updates because they are applied to unsaved committed documents
  Move ssh connection provider to remote-run.
  use a more memory-efficient structure to hold a long indexed file list
  fix test
  - Removed dependency on remote-run in vagrant plugin (PY-12254). - New api for path mappings providers (old left for compatibility with RubyMine and PhpStorm) - Fix launching of Python console for remote interpreter.
  add -> keyword to cpp and make sure it's lexed correctly (IDEA-121906)
  add a proxy test that fails on java 8
  enable new nashorn variables view by default
  style: remove unnecessary method
  for unsaved documents with committed state and psi backed index use the same logic as for unsaved documents with plain index
  github tests with wrong notifications fixed
  [log] Fix tests. (fix wrong line separators)
  [log] Remake VcsLogJoiner without recursion.
  [log] IDEA-118947 Implement special highlighting for cherry-pick
  [log] Add ability to listen to possible filter changes
  [log] Add ability to reuse branches filter popup
  [log] Expose VcsLogRefs into API
  [log] Expose the VcsLogFilterUi to the API, let set filter value
  [log] repaint ui after adding highlighter
  [log] make constants final
  ...
Merge remote-tracking branch 'origin/master'

* origin/master:
  IDEA-116029 in-place introduce variable name suggestions popup disappears before I can select anything PARTIAL ROLLBACK, fix to be continued...