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!
Hm, I wonder if we need to explicitly say what the last sentence is saying. The sentence is true for every method that takes self by value and I wonder if there is a more systematic way of conveying this across the entire doc suite (perhaps having it somehow annotated automatically by rustdoc).

Not to block this PR on it, of course, just wondering...

cc @steveklabnik