Change ext_module passing and make shim interactive to caller

Fix #16456

This is very cool, it allows us to stream data on a per request basis down to the running process on the other side of ssh. It allows us to cleanly send the ext_mods with each call without overloading the arguments (still needs some testing on super large ext_modules)
This also shrinks the shim a little, smaller shims are better :)

@s0undt3ch please take a look, this is a radical simplification vs what you were doing and you would know best if I am overlooking anything