Add properties and verbose parameters for msbuild

Default to minimal verbosity, since msbuild is extremely chatty. Projects
can override this with the msbuild_verbosity property on Builder or the
verbosity parameter to msbuild().

Extra MSBuild properties can be passed to msbuild() as a dictionary to
the properties parameter.