Binary heap supports merging two heaps and changing keys, minor fixes