Tweaked error handling in LogReader._ensure_file_is_good().

Rather than catching EnvironmentError and suppressing any non-ENOENT errors, the function now catches OSErrors and propagates any other error.
Added a test for file rotation handling in LogReader._ensure_file_is_good().
Fixed reading nonexistent attribute LogReader._ignore_truncate.
Removed the branch for _ignore_truncate being truthy.
Added test.