core: `queue_priority_add` should be fair

`queue_priority_add` adds a thread to the top of its respective priority
class, i.e. it `queue_node_t` implements a FIFO queue for each priority
class. This is unfair. A thread in the same priority class could starve.

This patch add a new thread to the back of its respective priority
class, implementing a LIFO queue for each class.