Add `rails test` command to run the test suite

To run the whole test suite:

    $ rails test

To run the test file(s):

    $ rails test test/unit/foo_test.rb [test/unit/bar_test.rb ...]

To run the test suite

    $ rails test [models,helpers,units,controllers,mailers,...]

For more information, see `rails test --help`.

This command will eventually replacing `rake test:*`, and `rake test`
command will actually invoking `rails test` instead.

-----

After this got merged, there'll be several things that need to be done:

- [x] Update guides to cover this :sparkles:new:sparkles: feature.
- [x] Decide whether we should show a deprecation warning if user run `rake test:*` (but if you run `rake` or `rake test`, there will no deprecation warning.
- [x] <del>Add a notification for `test:prepare` event, so that we can drop `Rake::Task['test:prepare'].invoke` line.</del>
- [x] <del>Add back `uncommitted` and `recent` suites.</del>
- [x] Add support for `-n` to specify the test name.