[ARM] Implement parse!real for systems with 64bit reals

and some unittest fixes
The std.traits.ImplicitConversionTargets returns wrong result for dchar
fix 7069
some fix in std.traits.ImplicitConversionTargets
remove templates
MT alignement
Move static asserts

So they trigger before they create a compile error
Add extra asserts on "w"
Document the rest of the parameters
Fix  Issue 11960 - Phobos Mersenne Random Engin...

...e not supporting unsigned longs
Add an MT unittest
Fix Issue 11830 - ByLine range length incorrect.

If you don't call `front` on a `ByLine` range then an extra line is reported. This change ensures the extra line is consumed when only calling `empty` without `front`.

https://d.puremagic.com/issues/show_bug.cgi?id=11830
Remove first line laziness from ByLineImpl.
Fix Issue 5361 - Add TemplateOf and TemplateArgsOf

Examples:

```d
struct Foo(A, B) {}
alias Bar = Foo!(int, real);
static assert(__traits(isSame, TemplateOf!Bar, Foo));
static assert(is(TemplateArgsOf!Bar == TypeTuple!(int, real)));
```

https://d.puremagic.com/issues/show_bug.cgi?id=5361
fix Issue 12041 - Strange warning pragma when instantiating WhiteHole

Remove restiction in AutoImplement with nothrow function.
Merge pull request #1892 from 9rnsr/fix12041

Issue 12041 - Strange warning pragma when instantiating WhiteHole
Merge pull request #1874 from monarchdodra/11960

Fix Issue 11960 - Phobos Mersenne Random Engine not supporting unsigned longs
fix Issue 12024 - template instantiation for swap(SysTime, SysTime) fails
Fix union case
Move isBlitAssignable to std.traits