Make BinaryHeap's Items iterator implement DoubleEnded and ExactSize

There's no reason that BinaryHeap's iterator can't implement DoubleEnded and ExactSize, so add these implementations.