Replace eval mode with sh-check mode
Replace eval mode with sh-check mode

Eval mode had a flaw that made it unusable: It relied on the original
command being output correctly for the shell to eval it. This is a hard
problem, especially when dealing with quoting stuff.

So instead I've introduced the sh-check mode, which will trigger a fast
run of sub and will simply return 0 is the command is an sh command and
1 otherwise, so the shell wrapper can then run the command again without
the flag wrapped by eval or not.

jdevera/sub,jdevera/sub