Fix issues when building with MSVC.
Add name field to compiler and linker classes.
Microsoft build tools output error messages on either or both of stdout and stderr, depending on mood.
Fix an issue with creating static libraries containing a lot of .obj files when using the MSVC linker.
Allow passing a target architecture to MSVC compiler/linker.