[Windows] Make msbuild_dotnet.py accept an --environment-file flag
[Windows] Make msbuild_dotnet.py accept an --environment-file flag

gyp takes care of updating %PATH% and a few other environment variables
with additional paths when invoking a script (via `actions`, for
example), which allows `msbuild_dotnet.py` to call `MSBuild.exe` without
any additional effort.

GN does not do that though, and `MSBuild.exe` is installed into a
location that is not automatically added to %PATH%. `msbuild_dotnet.py`
now optionally accepts a flag called `--environment-file`, which accepts
an `environment.<arch>` file produced by the Windows toolchain code in
GN. These files are `\0`-separated `var=value` entries, where `var` is
an environment variable such as `PATH`.

By parsing this file and merging its contents into `os.environ`, we can
update `PATH` and continue calling `MSBuild.exe`. We cannot just call
`ninja -t msvc -e environment.<arch> -- msbuild` though, as ninja would
remove all environment variables not present in the environment file and
cause other complications.

BUG=XWALK-7336

xzhan96/crosswalk,dreamsxin/crosswalk,crosswalk-project/crosswalk,xzhan96/crosswalk,hgl888/crosswalk,lincsoon/crosswalk,dreamsxin/crosswalk,hgl888/crosswalk,lincsoon/crosswalk,crosswalk-project/crosswalk,dreamsxin/crosswalk,hgl888/crosswalk,crosswalk-project/crosswalk,lincsoon/crosswalk,lincsoon/crosswalk,lincsoon/crosswalk,crosswalk-project/crosswalk,hgl888/crosswalk,hgl888/crosswalk,xzhan96/crosswalk,lincsoon/crosswalk,dreamsxin/crosswalk,hgl888/crosswalk,crosswalk-project/crosswalk,hgl888/crosswalk,crosswalk-project/crosswalk,dreamsxin/crosswalk,xzhan96/crosswalk,crosswalk-project/crosswalk,lincsoon/crosswalk,xzhan96/crosswalk,hgl888/crosswalk,dreamsxin/crosswalk,xzhan96/crosswalk,lincsoon/crosswalk,crosswalk-project/crosswalk,dreamsxin/crosswalk,xzhan96/crosswalk,xzhan96/crosswalk