Compare to parent instead of cousin

In offer of a value that would make the size odd, there is no pair in
the interval to be compared.  Compare the added value to its parent in
both the min heap and the max heap.
Document assumptions with assertions

Add assertions to interval heap implementation, where violation of the
assertion could lead to incorrect behavior.  The that are assumed to be
always true.  Enabling assertions must not change the behavior of the
algorithm.
Remove unnecessary code

Extra swap and pull up in the min heap are not necessary.
Clean up tests and add missing invariant

Reduce code duplication among IntervalHeap test suites.

Check the empty interval min leaf in the max heap invariant.