Consolidating range traits
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.
fix Issue 13300 - pure function 'std.array.Appender!(T[]).Appender.ensureAddable' cannot call impure function 'test.T.__fieldPostBlit'
Fix issue 10165 (rework of PR #1302)

http://issues.dlang.org/show_bug.cgi?id=10165
Issue 10165: No syntax to create thread-local shared variables

Adds `UnqualRef` templated alias/struct that is similar to Rebindable but
strips away all qualifiers completely (including shared)
Add `@nogc` to endian related functions in std.bitmanip
Add `@nogc` to std.digest.sha
Add `@nogc` to std.digest.crc
SList: insertAfter: correctly initialize new SList (fix for #2401)
Add `@nogc` to std.digest.md
Add `@nogc` to std.digest.ripemd
Fix issue #13354 - Use a generic Variant for passing opIndex/opIndexAssign arguments.

Also improves the error message when an incompatible index or value type is used by printing the actual type ID instead of "void[]" in the thrown exception.
Merge pull request #2450 from sigod/small-fix-for-2401

SList: insertAfter: correctly initialize new SList (fix for #2401)
[bugfix] Initialize uncertain field value
Merge pull request #2451 from sinkuu/digest_nogc

Add `@nogc` to digest algorithms
Merge pull request #2454 from 9rnsr/fix13321

[bugfix] Initialize uncertain field value
Fix property enforcement in `std.range.takeExactly`.
Merge pull request #2455 from denis-sh/fix-property-enforcement-in-`std.range.takeExactly`

Fix property enforcement in `std.range.takeExactly`.
mark toHash as public