Don't allow a new async cmd while one is busy.

Fixes Valhalla Knights 1.  Also some logging tweaks.
Ignore leading spaces on absolute paths.

Weird but true.  Not sure if it will help any game.
Merge pull request #4081 from unknownbrackets/io-minor

Don't run io on an fd when it's busy with async