Add new baseQueue and underlying priority queue code and tests.

baseQueue will be embedded in all range queue implementations.
yep, there's a certain parallel to Python when it comes to naming your internal stuff 'internal*' hoping that nothing else in the package will just use it.
But then again, could just modularize more?