Made the `clone_from` implementation for `~T` reuse the `T` itself if
possible by also calling `clone_from` on it.

In general, `Clone` implementors that overwrite `clone_from`
should try to to use it recursivly for substructures.
Test fixes from the rollup