Fix eol cleaner so that it doesn't delete trailing newlines.

Remaining problem: the eol cleaner runs *after* the trailing newline
cleaner. So if you have a file like:

blah blah
<newline>
<newline><trailing whitespace>
<newline>
<newline><trailing whitespace>

then with this patch, you have to save *twice* to fully clean the
file.

Unfortunately right now the order cleaners are run in is determined by
the order they are defined in the file, which is pretty obscure.