Add .net6.0-windows as a target so that Visualizer features are available on .NET 6.0 when targeting Windows (while preserving the cross-platform net6.0 target).
I have changed our minimum .NET 4xx dependency from net462 to net472 because this is the minimum version supported by the version of the automatic graph layout package that supports net6.0-windows.
It is possible to still use net462 and in this case to use the previous version of automatic graph layout; but the increased complexity doesn't seem worth it.
* Subarray checks that indices are distinct when debugging
* Renamed ConcatOpTests to StringConcatOpTests
* Crowdsourcing explains why accuracy and precision are NaN.
* Added build instructions for Visual Studio Code.
* Update to .NET Core 3.1
This update was faily trivial change of project properties with only one caveat
```
error CS0104: 'Range' is an ambiguous reference between 'Microsoft.ML.Probabilistic.Models.Range' and 'System.Range'
```
which require sprinkling everywhere following line of code
```
using Range = Microsoft.ML.Probabilistic.Models.Range;
```
* Update build definition to use more modern images
- Windows 2019 for .NET Core 3.1
- Mac OS 10.14 (Specifically https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops)
Co-authored-by: Tom Minka <8955276+tminka@users.noreply.github.com>
Added CausalityExample, Crowdsourcing, and CrowdsourcingWithWords examples from the user guide.
Modernized the BayesianPCA example.
Example projects that support .NET Core now build under DebugCore and ReleaseCore.
Removed spurious app.config files.
* Put info about building into a separate file; added links to tutorials.
* Restored contents in BUILDING.md
* Clarified prerequisites.
* Fixed internal links