Decouple filtered methods detection and test instances initialization from suite executions.

The interface in Minitest 5 makes extending Runnable harder. The `run` method in the `Runnable` class has three responsibilities:

1. Detect methods to run.
2. Create test instances.
2. Run tests.

Moving the detection logic and the test instances initialization to separated methods makes it more easy to extend.