[JENKINS-21932] Future#get does not return (or abort) when canceled in queue

When a build is canceled when it is still in a queue (that is, before placed to a node), `Future#get` does not return nor throw any Exception, and wait forever.
This causes [Parameterised Trigger plugin] (https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin) hangs when a synchronous downstream job is canceled in a queue.

This is introduced in Jenkins 1.520, 513a45b3091b88d1ad9020099bbd1aec04a8c686 .

This is a test to reproduce the problem, and I'll commit a fix (f18cc5a8397ca0307af66da78b112b0cf8b0fd3c) after seeing the test fails.