catting a file *containing* an error is not an error

This solves our long-standing p0 ticket:

IOError: File not found: /mnt/var/log/hadoop/userlogs/job_201302120935_0003/attempt_201302120935_0003_m_000005_0/syslog

The issue is that the file itself was being checked for no-such-file errors, which would mask the actual error.

I've added a failing test as well.