Fixes bug RT-78272

https://rt.cpan.org/Public/Bug/Display.html?id=78272

Just copied UNIVERSAL::require's solution to the same problem.
I didn't just use it as to not add any non-test dependency.
Moves test to Test::Fatal instead of Test::Exception
Replaces internal logic to select implementation with Module::Implementation
Explicitly requires Module::Implementation version 0.06+