sh: do not enforce POSIX validation on bash/zsh scripts

The POSIX check warns about perfectly legal bash/zsh statements such as the 'local' keyword.
It's archaic and irrelevant nowadays.
Cosmetic change: checkpatch is a style checker.
Cleanup.
Merge pull request #679 from orenhe/shell_dont_validate_archaic_posix

sh: do not enforce POSIX validation on bash/zsh scripts
Bug fix: getwinvar() got its third argument only in Vim 7.3.831.
Merge branch 'master' into gcc_refactor