Fix Issue 5378 - Make File.byLine accept a string terminator

Add an overload of byLine without a default argument for terminator.
Before, byLine!string tried to instantiate "string terminator = '\n'",
which is invalid.

Note: This removes the default arguments from ByLine.this, but the
constructor was never documented anyway (unlike the range primitives).
Fix calling ByLine(file) with default args
Ensure terminator string has Char element type
Use ElementEncodingType!Terminator instead of typeof(terminator[0])
Merge pull request #1458 from ntrel/byLine-crlf

Fix Issue 5378 - Make File.byLine accept a string terminator