Fix Issue 5462 - Better errors in BinaryHeap

Added descriptive errors to the enforces and asserts inside BinaryHeap.

https://d.puremagic.com/issues/show_bug.cgi?id=5462
Wording change for monarchdodra.
Merge pull request #1882 from Poita/bug5462

Fix Issue 5462 - Better errors in BinaryHeap