MSBuild support fixes

The xbuild builder now allow running targets on projects which have not
yet saved on disk. If a project is changed and before saving it, MD runs a
target, then an in-memory copy of the proj file is used to load the MSBuild
project and run the target.

This fixes bug #1077 - Code completion does not update when
references/framework changed if using xbuild/msbuild