Truncate fixes

Fix the issues in #3 + add some more testing
I think sleeping in a loop is what the actual `tail -f` does, so I'm not against that. But the fact that we can't watch a file that's in an unreadable dir is a show stopper for me, unfortunately. I deal with those cases often.