Work queue priority

Supersedes #555.

Fixes priority 0 coming after priority -1 by deprecating specify_task_order (FIFO/LIFO did not make sense anymore anyway when avoiding task starvation).