[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 12041 - Strange warning pragma when instantiating WhiteHole

Remove restiction in AutoImplement with nothrow function.
fix Issue 12024 - template instantiation for swap(SysTime, SysTime) fails
Fix union case
Move isBlitAssignable to std.traits
Fix for enum and alias this cases
Fixed typo.
Fix formatting in std.conv.parse!real