JENKINS-11655: If many builds trigger same downstream job, wrong artifacts are copied, first job triggered, not last / newest like would be assumed. In this commit it is fixed.

Because this is a big changes it may be reasonable to have some global configuration checkbox if used newestbuild instead of first build when artifacts are copied. I tried to do it also, but my competence was not enough. Those tries are in comment in this commit.
[JENKINS-11655] Added a parameter to specify whether use the newest upstream or the oldest one. Also supports cascaded triggering.
[JENKINS-11655] Added tests for the upstream selecting feature of TriggeredBuildSelector. Though existing tests of TriggeredBuildSelector are in CopyArtifactTest, I created a new test class as adding tests are so complicated and large.
[JENKINS-11655] Added global configuration to specify the default behavior.
[JENKINS-11655] Updates tests against adding globalUpstreamFilterStrategy
Merge pull request #39 from ikedam/feature/JENKINS-11655_NewestUpstream

[JENKINS-11655] Use the newest upstream