cmd/shfmt: reorganize walk logic
cmd/shfmt: reorganize walk logic

The only change is that non-regular files with a shell extension are no
longer used. This is more consistent since we weren't checking for valid
shebangs in them either.

mvdan/sh,mvdan/sh,mvdan/sh,mvdan/sh