CI: Speed up coverage tests by splitting files
In #28531 we started to parallelize tests in the CI by file. Meaning that each file in `pandas/tests/` will be assigned to a core, and will run fully there. Before, each individual test was assigned to a core. This makes things much simpler, since tests that cannot run in parallel just need to live in the same file. But it implies, that if a test file is big and contains many tests, it will slow down the running of all tests.

As an example, imagine we have 1,000 tests that take one second each, and we have 100 cores. 10 tests will be assigned to each core, and the test suite will run in 10 seconds using the 100 cores. But with the new set up, if we have a file with 100 tests, all them will run in a single core, and the test suite will take the 100 seconds that the core will need to run the 100 tests.

In practice, after #28531 most of the builds in the CI didn't increases much the time to run. Only the [coverage build](https://github.com/pandas-dev/pandas/blob/master/.travis.yml#L49) is in some cases taking significantly more (from around 30 minutes to around 45 minutes).

The solution to this is:
- See how long each test file takes
- Split the files taking longer in a meaningful way

Note that tests can be skipped if dependencies are not found. For example, if matplotlib is not installed in the environment, the plotting tests will simply be skipped. So, it's needed to create an environment with the dependencies of the build `ci/deps/travis-36-cov.yaml`.

To call the exact tests as the build, see the call in [run_tests.sh](https://github.com/pandas-dev/pandas/blob/master/ci/run_tests.sh#L28), and replace the parameters by the ones defined in the [build](https://github.com/pandas-dev/pandas/blob/master/.travis.yml#L49).