Solved programmin question 5

Also added some base classes and infrastructures for Heap.
I hoped I would have time to implement the Heap in order to use it for
the Dijkstra shortest path algorithm implementation but it didn't
happen. Will implement the heap for Programming question 6 and then will
update PQ5