Consolidating range traits
Added JSONValue dictionary add and vector append
Spelling
use CRuntime_DigitalMars/CRuntime_Microsoft instead of Win32/Win64 where appropriate
Verify that json array append does not alias the original array
Remove comma expression in std.uni
std.process: @safe/nothrow cleanup
fix Issue 13441 - joiner asserts with only(x) separator
Merge pull request #2501 from CyberShadow/pull-20140909-112214

std.process: @safe/nothrow cleanup
fix Issue 13445 - std.process fails to create process with empty (non-null) working directory
fix Issue 13447 - Do not escape process parameters unless necessary
std.process: Fix using 0 as invalid FD value, use -1 instead
Merge pull request #2502 from CyberShadow/pull-20140909-140509

fix Issue 13445 - std.process fails to create process with empty (non-null) working directory
Merge pull request #2504 from CyberShadow/pull-20140909-143654

fix Issue 13447 - Do not escape process parameters unless necessary
Merge pull request #1010 from monarchdodra/rangeTraits

Consolidating Range traits
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.
Merge pull request #2499 from CyberShadow/pull-20140908-215454

fix Issue 13441 - joiner asserts with only(x) separator