TST/CLN: centralize module check funcs

- Moved duplicated module check functions to `util.testing`
- Remove some unnecessary import
I don't think it ever happens one of the two is available and the other not? (all scipy version we support have both submodules?) So maybe just checking for scipy? (because now you will get `scipy.stats not installed` for tests that need scipy.interpolate