Changed BoundedPriorityQueue to use a internal queue variable
 The heappush function in heapq.py starts by calling append on the queue, causing endless recursion. This doesn't happen in cpython because it's using a C implementation, but eg. pypy uses the python version.