Continue cleaning up `collections::binary_heap`

Some more tidying up.
I think it's pretty rare to put type parameters of paths, and this function is conventionally called as `BinaryHeap::new()` rather than `BinaryHeap::<T>::new()`. Could this stay as it was before and perhaps have a method call after it to drive inference of what `T` is?