Renamed an interface Heap into IBinaryHeap.
Refactored: added an AbstractHeap for the additional level of Heap's abstraction.