This change updates the StartVS script in the following ways:
* Ported batch file to a PowerShell script. The batch file is still
there. It just runs the PowerShell script.
* Added a `-chooseVS` switch that displays a menu of Visual Studio
instances that are installed and allows the user to pick one to
launch.
* Added an `-includeRoslynDeps` switch that sets an environment variable
that controls whether Roslyn dependencies are included with the
Razor extension or not.
Since integrating our repos, there have been a number of changes in PRs that touch the encoding of the file, adding or removing a BOM as the editor in question decides. I've standardized on UTF-8 with BOM, as we do in roslyn, and put it in the .gitattributes so it should hopefully stay consistent.
* Remove razor-compiler.sln from root directory
* Move Razor.sln and Razor.Slim.slnf into root directory
* Put all projects from razor-compiler.sln into Razor.sln, with same solution folder layout
* Fix builds and docs
* Remove a couple of redundant files in the src\Razor folder
@ryanbrandenburg pointed out my change from `. .\activate.ps1` to `.\activate.ps1` in the build from source PR. I've been `.\activate.ps1` and haven't run into any particular issues, however, it's not the recommended way to source due to [scoping](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_scripts#script-scope-and-dot-sourcing). dotnet/aspnetcore enforces this dot sourcing, so I copied over the script changes here.
Also noticed startvs.cmd had changed so brought that over as well.