Rotate elements instead of swap

Instead of swapping elements, rotate elements into position.  This
should reduce the number of assignment operations to about half.

Add a stress test for heap operations and heapify.
Rotate elements instead of swapping

Rotate elements instead of swapping them to reduce the number of
assignment operations by about half.

Add comments to private methods to clarify the implementation.