Add Binary Heap data structure

This will be used when implementing the mutable priority queue.