Add multiple-scms optional dependency
Fix matrix builds with multiple SCMs

This fixes a bug that causes Matrix Builds to fail when using two or
more Mercurial repositories (via the multiple-scms plugin).

Previously, each SCM tried to checkout the changeset from the first
Mercurial repository.  This checks for the presence of the
multiple-scms plugin and, if the build uses it, looks up the parent
changeset using multiple-scms.

I also modified the MatrixBuild tests to fail faster when builds fail
(added an await timeout).

JENKINS-18237