Added priority queue class with tests