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 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.
Merge pull request #1891 from 9rnsr/fix12024

[REG2.065a] Issue 12024 - template instantiation for swap(SysTime, SysTime) fails
Merge pull request #1883 from Poita/bug11830

Fix Issue 11830 - ByLine range length incorrect.