Add new baseQueue and underlying priority queue code and tests.

baseQueue will be embedded in all range queue implementations.
why this and the other change below?