Alternative implementation to make time travel not dependent on mocha

This is an alternative implementation to https://github.com/rails/rails/pull/13655.

Before this patch time travel feature depends on mocha's stub feature.
Since mocha is not a Rails dependency we can't depend on this specific library.

We choose to use our own implementation to avoid adding one more dependency to Rails.

This implementation is using an internal stub implementation instead of minitest to make possible to RSpec users use this methods without any problem.

Fixes #13380.

Thank you @myronmarston for the help.