[JENKINS-11655] Use the newest upstream

[JENKINS-11655] (https://issues.jenkins-ci.org/browse/JENKINS-11655).
There are cases multiple upstream causes exists for one downstream build.
This feature allows users to specify whether to use the newest upstream instead of the oldest downstream (current behavior).

This is an extension for #38.
* Added an option to specify whether to use the newest or the oldest upstream
    * For backward compatibility, defaults to "the oldest" (not checked)
    * [JENKINS-11655] (https://issues.jenkins-ci.org/browse/JENKINS-11655) points incompatibility with the behavior of SCM.
* Added tests.

![usenewest](https://cloud.githubusercontent.com/assets/3115961/3277497/f3a363da-f379-11e3-8175-8895240fc860.png)