reformatted closer to lpauzner style
* 1-based heap array (to make cleaner array math)
* cycles instead of recursion in sift_down and sift_up
* removed min_ prefix from functions and structure names
* prefixing internal functions with __
* more accurate structured output of heap