Implement into_iter() for BinaryHeap.

Whilst browsing the source for BinaryHeap, I saw a FIXME for implementing into_iter.  I think, since the BinaryHeap is represented internally using just a Vec, just calling into_iter() on the BinaryHeap's data should be sufficient to do what we want here.  If this actually isn't the right approach (e.g., I should write a struct MoveItems and appropriate implementation for BinaryHeap instead), let me know and I'll happily rework this.

Both of the tests that I have added pass.  This is my first contribution to Rust, so please let me know any ways I can improve this PR!
They should always be newtyped; otherwise, you're exposing the details of how the iterator is constructed, which prevents you from changing them in the future without risking breaking your client. (Eventually https://github.com/rust-lang/rfcs/pull/105 should help here.)