Add parallel map api

Convenience API inspired by https://github.com/caolan/async#parallel. Eases collecting results from parallel builds.

Example:

    join = parallel (
        first:  { build("job1") },
        second: { build("job2") },
        third:  { build("job3") }
    )
    build("job4",
           r1: join.first.result.name,
           r2: join.second.lastBuild.parent.name)