Change heap_end_index minimum value from 0 to -1.

-1 indicates heap partition is empty, and partitioned_list is either empty or completely sorted.
In partitioned_heap_list.py add heap_sort(). In test_partitioned_heap_list.py add test_heap_sort().