Added JSONValue dictionary add and vector append
Spelling
fix issue 9959 - Add functional pattern matching for object references

Add the function std.algorithm.castSwitch, which chooses a delegate
based on the class of an object and run that delegate with that object.
use CRuntime_DigitalMars/CRuntime_Microsoft instead of Win32/Win64 where appropriate
Verify that json array append does not alias the original array
Add std.range.enumerate

Fixes issue 5550
Make std.file.getAttributes safe
Tweak static if in Array

Probably changes nothing in the generated code, but can have an impact of attribute inference. I'm trying to get this to be `@nogc`
std.process: Update unittest_burnin to test new functions
std.process: Test random characters at filename start as well
Fix issue #13352 - Only perform Algebraic arithmetic with allowed types.

Adds a static check allowed!T before trying any particular numeric type. Also checks for an exact type match in case of a raw (non-Variant) operand and prefers that to one of the fixed numeric types. Finally, it loosens the restriction for opArithmetic to only work for equal Variant types.

Conflicts:
	std/variant.d
Use VariantException instead of a bare Exception.
Use positional arguments for format().
Don't throw static exceptions.
std.math: added frexp for float and double
Code clean up.
Merge pull request #2452 from s-ludwig/issue_13352

Fix issue #13352 - Only perform Algebraic arithmetic with allowed types.
fix Issue 13446 - Can't use executeShell/escapeShellFileName to redirect to file whose name starts with &

Discovered and verified by -version=unittest_burnin
fix Issue 13450 - Add WindowsException and wenforce to std.exception

Also expose ErrnoException's errno field as a documented property
for consistency.
Merge pull request #2432 from rainers/coff32

COFF support for Win32