Added a third `reversed` boolean option

This allows the priority queue to expel either from the top instead of
from the bottom when too full
Brought back the priority argument in #push