Verboser error on malformed diffs
auxiliary function to alert of (recoverable) errors
Cope with empty initial diff lines

Some malformed RCS files can have an inital empty line in the text block
for diffs, e.g.

    text
    @
    d1 1
    @

instead of

    text
    @d1 1
    @

Survive this by skipping an initial empty line, but alert the user so
they know something fishy is going on.
Find the location when the executable is not a symlink

When finding the path to the real `rcs-fast-export.rb`, we can't use
`File.readlink` on its own because it will fail with `Errno::EINVAL` if
`__FILE__` is not a symlink. Rescue with `__FILE__` to catch this case.
Set standard output in binary mode

This ensures that in Windows the lines are terminated by a single 0x0a
line ending instead of the DOS/Windows 0x0d 0x0a line ending, which is
not appreciated by git fast-import.
Only check for empty first diff line if there are diff lines

When an RCS commit is forced, the diff will be empty (no diff lines),
so chomping the first (non-existant) line to check if it's empty will
raise an exception.

Fix by not checking for the emptiness of the first line if there aren't
any lines in the diff.
Fix date parsing for Ruby 1.9