I'm not sure about this - do all file-like objects implement readline in addition to read?

decode() will fail in py3 if the file is set up to read unicode already

Although this is probably already broken in py3, I can accept this now and work on more tests