clone: clarify docstring
add a DeepClone trait

for deep copies through shared ownership boundaries
rc: fix tests
auto merge of #6498 : thestinger/rust/deep_clone, r=thestinger

This is mostly for `std::rc` and `std::arc` (but I haven't implemented it for ARC yet).

Implementing it correctly for managed boxes is *very* non-trivial. It would probably require an unholy mix of reflection and TLS.