Fix multiple projects for optimizations, debug/trace, etc.

System.Linq.Parallel.csproj wasn't outputting symbols, and it didn't have optimizations enabled in Release.

System.Numerics.Vectors.csproj was setting TRACE in Release builds but not in Debug builds.

System.Text.RegularExpressions.csproj wasn't setting either DEBUG nor RELEASE constants in either Debug/Release builds, it didn't have optimizations enabled in Release, and it wasn't generating symbols in either.

The XML libraries were't setting DEBUG/TRACE in either Debug/Release builds, weren't enabling optimizations in Release builds, and weren't generating symbols in either.

DEBUG is important in almost all of these libraries, as they use Debug.* for asserts and the like.  Symbol generation is important for debugging.  Optimizations are obviously important (but just to verify I saw significant performance wins in multiple libraries just from turning this on in release).  TRACE isn't really important, as none of the libraries do release tracing, but I thought it good hygiene to enable it.
Implement Microsoft.Win32.Primitives support on Linux

Separates out the Windows interop code from the main Win32Exception type, and then adds a basic Linux implementation, based on strerror_r. (There are a few other minor, unrelated changes, e.g. some additional enum values in an interop file, in order to keep these files in sync with additional .NET Core projects not yet shared.)
Merge pull request #241 from stephentoub/fix_project_settings

Fix multiple projects for optimizations, debug/trace, etc.
Merge pull request #242 from stephentoub/win32_primitives_unix

Implement Microsoft.Win32.Primitives support on Linux
Fix bug in Matrix4x4.Decompose.

While working on the Win2D numerics implementation, I discovered this longstanding issue
which was inherited from XNA. In some corner cases where one axis of a matrix transform
has degenerate (zero) scale factor, the Decompose method tries to compensate by filling
in an artificially generated orthogonal coordinate system, but was doing this wrong and
generating nonsense results.

Also updated unit tests to properly validate decompose of matrices with zero and negative
scale factors.
Improve Dictionary access
Merge pull request #250 from shawnhar/matrixdecompose

Fix bug in Matrix4x4.Decompose.
Formatting changes to private fields.
Merge pull request #256 from Priya91/lasekar/netformat

Formatting changes to private fields.
Remove app.config from Registry.
Merge pull request #254 from alfaproject/regex_dictionary

Improve Dictionary access
Re-enable some Vector tests which were flaky on CI machines
Merge pull request #259 from Priya91/registry

Remove app.config from Registry.
Merge pull request #263 from mellinoe/enable-vector-tests

Re-enable some Vector tests which were flaky on CI machines