Fix Issue 9599 - File.byLine doesn't function properly with take

http://d.puremagic.com/issues/show_bug.cgi?id=9599

Before, calling `take` could wrongly pop an extra line from the `ByLine` range.
Fix by making `ByLine` reference counted.

As discussed, I first tried changing `ByLine` not to read the next line eagerly, but that was not sufficient. That commit is here for reference:
https://github.com/ntrel/phobos/commit/35a0c4ab69a76f480b29e524d2c24cfb31038735