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
Fix Issue 11706 - Add a TypedefType trait to extract the underlying type
of a std.typecons.Typedef.
Fix issue 13425 - DList.linearRemove on last...

...element returns non-empty range.

The main issue is that DList.Range is implemented in terms of "first and last" as opposed to "first and past last", which means you have to special-case empty ranges. The fix is to do the same thing as in `opSlice`, and to explicitly initialize a null Range when it is empty.
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`
Merge pull request #2497 from monarchdodra/DListRemove

Fix issue 13425 - DList.linearRemove on last...
Remove comma expression in std.uni
Merge pull request #2116 from AndrejMitrovic/Fix11706

Issue 11706 - Add a TypedefType trait to extract the underlying type of a std.typecons.Typedef
Fix Issue 4493 - Add sorting capability to toJSON and add another unittest.
Merge pull request #2120 from AndrejMitrovic/Fix4493

Issue 4493 - Add sorting capability to toJSON and add another unittest
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