libstd: `Ratio` requires `Clone` instead of `Copy`

This allows creating `Ratio<T>` which `T` is non-implicitly copyable types
such as `BigInt`.
libstd: Add tests for BigRational