Better ant / junit interaction

Currently junit test sources are always rebuilt, that's wasteful. The
second dependency on the junit task is there so that the first can be
skipped if sources haven't changed.

Also normalize package names versus location in the `test/junit` folder:
ant isn't very clever when it comes to selectively recompiling tests, so
now editing a test will only cause that one to be recompiled (instead of
~13 files every time).

This makes TDD with junit even faster.
SI-8624 PriorityQueue documentation is not clear enough

Added a paragraph explaining that dequeue is the only way to get your elements in priority order.
Merge pull request #4008 from gourlaysama/wip/junit-2

Better ant / junit interaction
Merge pull request #4020 from Ichoran/issue/8624

SI-8624 PriorityQueue documentation is not clear enough
Merge remote-tracking branch 'upstream/2.11.x' into 2.11.x