added comment stating that I basically lifted the heap implementation straight from the pages of Cormen, Leiserson, Rivest, and Stein
Fixed the replace element call.  It's now the slower implementation
(pull old element, fix heap, insert new element) for a 2 log n call
instead of just the log n of swapping and fixing the key, but it's
sure to work.