Improve line separator conversion on windows

* Unconditionally convert \r\n or \n to \r\n. This fixes cases where double
  converversion would result in \r\r\n
* Use binmode to avoid double conversion in IO streams
* Use binmode in tests to make sure we're not processing content before
  testing it.
capitalize drive letter in expected and actual
Explain optional \r in newline conversion regex