xcode like scroll bars for distraction free mode
(cherry picked from commit 3511897)
xcode like scroll bars for distraction free mode

(cherry picked from commit b268e09ef998fb8587a709252c166291515ed2c8)
go to action: on/off button for toggle actions, extract some features from option providers to ex implementations

(cherry picked from commit e41b51f6e85251a9dffc0e030275f0cff68bdc66)
new scratch file/scratch widget: use language substitutor in a proper way [^greg]

(cherry picked from commit 3e5f5659c099ebf58ae6aa99dd41d14fc43bcc71)
options provider only for se

(cherry picked from commit 224500798ca389e912d7ea0bfd861bd1582f9774)
go to action: perform action even the component isn't showing

(cherry picked from commit cc0cd1b9a53ce3b9bd29aa139bb7494b10c4abc6)
distraction free mode: don't paint tooltips when editor scrollbar isn't showing

(cherry picked from commit c0745bc7db84272fffc5199dea9f964e51091cba)
IDEA-131549: better matching for actions in go to action:
 — Tab placement: Top (search pattern is `tab top` or `top tab`)
 — Show UML popup (search pattern is `UML`)

(cherry picked from commit 82529ff041cf7e513badea0b1decbf6d331f6e64)
OptionsTopHitProvider.Optional -> OptionsTopHitProvider.CoveredByToggleActions

(cherry picked from commit eab57d8dbae7e2ae44288fe6db52eab21ccd6cb8)
IDEA-127636 Show History command missing in Find Action

(cherry picked from commit 82828535c7c19560b1408802ab387ac858b70edd)
IDEA-130363 Recently Edited Files list should survive restart

(cherry picked from commit b8a04975b3169836c18ee267ec39b11c7047122b)
don't evaluate arrays on EDT when debugging remotely
Merge remote-tracking branch 'origin/139' into 139
remove code duplicate (use isUnderRemoteDebug directly)
switch quick scheme cleanup
IDEA-130912 Use different keys (also different from keys used by SVNKit) for caching password/passphrase for svn+ssh repositories for command line (not to use incorrect data from cache or possibly get ClassCastException as objects of different types could be cached with the same key)

(cherry picked from commit 799d362c8b1a60db4eaa007503b0aaf692d8fdfd)
svn: Use different keys (also different from keys used by SVNKit) for caching server certificate acceptance result (for https repositories) for usual command line and "run under terminal" command line modes (not to get ClassCastException as objects of different types could be cached with the same key)

(cherry picked from commit 8b3bcbcdafaecdedf2d7f2391b29d19dd4ae9af8)
svn: Refactored authentication prompts handling in "run under terminal" mode - always rely that repository url of processed command is not null (as it should be correctly set in CommandParametersResolutionModule)

(cherry picked from commit 7fbd9c3ff342a950dfa9a96347b3bec570fb5451)
svn: Refactored IDEA proxy settings handling for command line integration - only pass proxy settings to svn command line client if currently executing command is non-local (requires repository access)

(cherry picked from commit 6aacc9695b87ed79da906657dbba59a62a750582)
svn: Implemented IDEA proxy settings support for command line integration in "run under terminal" mode

(cherry picked from commit b4686b24827596220c51161ff9a8bd4dd78aeca2)