[FIXED JENKINS-21007] Add a mechanism to get parent revision.

- As looking up parent revisions is potentially an operation that involves remote server round trips and we do not want SCMRevision storing the entire parent tree, adding this as a method on SCMSource.
- The methods take a TaskListener and throws IOE and InterruptedE to alert consumers of the potential cost and remoting implications in looking up the parent(s)
- Default implementation returns empty collections to prevent NPE checks