[JENKINS-14575] Wrap GitException into IOException

The retry logic does not catch the GitException, so we have to wrap into a IOException. Clone and Fetch also affected. As of now the scmRetry will work with the git plugin.
[JENKINS-14575] Wrap GitException into IOException

Do the same if the repo exists and don't have to clone.
Ignore .idea folder (IntelliJ)
[JENKINS-14575] We don't need to catch it here.
Merge pull request #143 from woohgit/master

[JENKINS-14575] Fix to make the retry logic work with GitSCM
Fix serialization error when using Merge feature on a slave