extend the iterator tutorial

documents conversion, size hints and double-ended iterators and adds
more of the traits to the prelude
Remove the global 'vec::to_owned' function
Account for possible 0-sized elements in vector iterators

Closes #7733
auto merge of #7736 : thestinger/rust/doc, r=thestinger

2b96408 r=sanxiyn

documents conversion, size hints and double-ended iterators and adds
more of the traits to the prelude
librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.
librustc: Remove all uses of "copy".
librustc: Remove `copy` expressions from the language.
librustc: Remove all uses of the `Copy` bound.
test: Fix tests.
librustc: Change repeated vector expressions to use implicit copyability.
librustc: Remove the `Copy` bound from the language.