[git] refactor authenticator

* Handle Git plugin username/password storage in the same matter as for
  other auth providers, but make it the first provider to consider.
* Save the auth provider which was used for authentication (for future:
  to know where to remove the password from).
* Check auth providers in askPassword as well (before it was asked
  only in askUserName).

This is a preparation for IDEA-98189.

(cherry picked from commit ccc5043bcb9ba8d0ce154d2cbfdf9d30006fa92d)
[git] IDEA-98189 Forget incorrect password

Github implementation is pending.

(cherry picked from commit 85cad871d3678c02b22ce20398e16fecdbdba017)
[git] Use GitImpl for all remote commands

Relates to IDEA-98189.

(cherry picked from commit ecc84d5602f2cc64cc73164326caa30bc0a17282)
[git] better error text

(cherry picked from commit ac764f5d0e2219d51f336ee51dfbef3c39d6815e)
[git] IDEA-98189 Retry up to 3 times if authentication failed

But not if user explicitly cancelled the authentication dialog.

(cherry picked from commit 7e742e3a466f824f2fba000731f898800d66d70d)
[git] IDEA-124081 implement IDEA-98189 for clone

(cherry picked from commit 10d507063adcdd8a8652631e4dc26f4c7ca20675)
[git] Compilation fix: the test class was removed on master, and not updated by cherry-picks anymore.
IDEA-124096 open commit actions popup on ctrl+alt+P

Since Alt+P doesn't work on Java 7+.

(cherry picked from commit a9fa3a2c84ac7c6a398fd920153cb0919628cd89)
Better fix for IDEA-124096 open commit actions popup on ctrl+alt+P

Alt+mnemonic is never supported on Java 7+ on Mac => register just
Ctrl+Alt+mnemonic in this case.

(cherry picked from commit 67f1d446db469bc084d7fb68034fd05933268c95)