Implement Clone for tuples
auto merge of #5692 : Aatch/rust/tuple-clone, r=thestinger

This implements the clone interface for tuples and adds a test to match. The implementation is only on tuples that have elements that are themselves clone-able. This should allow for `#[deriving(Clone)] on nominal types that contain tuples somewhere.