A heap with decrease-key and increase-key operations
Description
HeapDict is designed to be used as a priority queue, where items are added and
consumed by priority. Compared to an ordinary dict, a heapdict has the
following differences: popitem and peekitem returns the (key, priority) pair
with the lowest priority, instead of a random object.