added clone timeout option for Git SCM, fixed JENKINS-25525
Merge branch 'JENKINS-25525'
Fix `copyArtifact`

The `copyArtifact` step is currently broken for matrix projects. The reason for this is that the presence of the `projectName` attributes triggers the `CopyArtifact` plugin to behave differently, as demonstrated below:

```
private boolean upgradeIfNecessary(AbstractProject<?,?> job) throws IOException {
    if (isUpgradeNeeded()) {
        int i = projectName.lastIndexOf('/');
        if (i != -1 && projectName.indexOf('=', i) != -1 && /* not matrix */Jenkins.getInstance().getItem(projectName, job.getParent(), Job.class) == null) {
            project = projectName.substring(0, i);
            parameters = projectName.substring(i + 1);
        } else {
            project = projectName;
            parameters = null;
        }
        LOGGER.log(Level.INFO, "Split {0} into {1} with parameters {2}", new Object[] {projectName, project, parameters});
        projectName = null;
        job.save();
        return true;
    } else {
        return false;
    }
}
```
minimum required version of copyartifact plugin is 1.26
Merge branch 'copyartifact'
moved Context and ContextHelper to javaposse.jobdsl.dsl
better JavaDoc
[JENKINS-25482] Support for extended email triggers Always, FirstUnstable, FixedUnhealthy, SecondFailure, StatusChanged
cleanup
Merge branch 'ext-email'
Add ConcurrentModificationException workaround.
Merge pull request #336 from CoreMedia/context

Moved Context and ContextHelper to javaposse.jobdsl.dsl
added Troubleshooting section, changed some wording
Merge branch 'concurrentmodificationexception'