Abstracted all the heap logic (ie having to -1 when getting and setting
elements in the array) into the ArrayForHeap class
Unfortunately tightening this encapsulation broke most others that rely
on this. Fixing those up now