Add checking for module names (fixes taint):

GH #567 mentions taint mode not working. This is because we're not
checking the engine name strings. I don't know if this fixes it,
but now we're properly checking them using Module::Runtime.

There's now also a test for it.

Module::Runtime is required by Moo, and so does not add a new
dependency.
reflect changes
Merge branch 'feature/taint-mode'