A C# priority queue implementation using heaps.