Fixed compatibility with matrix jobs.

Alex Vesely (1990.alex@gmail.com):

A little research showed that the plugin cannot get the names of matrix jobs correctly. Apparently, subTask.getDisplayName() returns the label name instead of the job name. So If I put '.*' into the blocking job list (to block on anything), I get the message: "Blocking job Linux is running", where Linux is the label name, not the job name.
Added basic test case for multiple executor bug.

Bram Tassyns (bramt@enfocus.com):

Currently the core of this test is still uncommented.
This will be uncommented after the actual fix.
Ensured that blocking jobs don't get scheduled simultaneously.

Bram Tassyns (bramt@enfocus.com):

If there is more then one executable then it is not sufficient to
check the executors, you should also look at the Queue to determine
which jobs will be executed next.
Enabled to unit tester for this case as well.
Allow jobs with names that match one of their own blocking expressions.

Bram Tassyns:

A job should never check its own name to determine if it should be blocked.
Bram Tassyns (bramt@enfocus.com):

Use the correct way to add JUnit tests.