Better warnings when running a module against the wrong host operating system

Consider e.g. ansible.builtin.stat vs ansible.windows.win_stat.

The former will fail with a pretty esoteric error if it’s trying to run on a Windows host.

Presumably ansible-playbook has enough information to know that it won’t work?