netty-1597: Rewrite ByteBufInputStream.readLine() to avoid IndexOutOfBoundsException and to behave more correctly for lines ending in '\r'

Fixes '\r' handling in ByteBufInputStream.readLine().