Make max_warnings work with Visual C++ Express.

VC Express didn't match the previous condition because it uses vcexpress.exe instead of devenv.exe as the CMAKE_BUILD_TOOL.  This change uses MSVC which should catch all the cases.
Return valid code from test fixture on failure.

The sshd test fixture was returning -1 if an error occurred, but negative error codes aren't technically valid (google it).  Bash on Windows converted them to 0 which made setup failure look as though all tests were passing.