Fix for timing issue in follower.Read

In the Read method, a file could be truncated or move in between when it was os.Stat'd for its maxSize and when it is actually read. This was causing errors when the file would shrink before it was read, because unexpected EOFs were occurring :D

To avoid that problem, I thought it would be safer make the reads occur on a bufio.Reader so its operating on a known amount of data in memory, rather than an unknown quantity on disk. 
Not sure I understand how you resume the reads from the end of the file this way. It seems to me the `reader` would start reading from the beginning of the file, not from where it was last.