Added generic_ptr::cloning, which is a pointer which does deep copies of its pointed-at object when copied.