Handle reads at the end of the file correctly.

- This fixes a regresion from the move from fuse.fs.Serve to fuse.Conn.
- It would be a bit simpler to not return EOF and then special-case it all the
  way up the stack, but it seems more correct to indicate EOF when it's
  reached.
- Also, minor gofmt clean up.
Only pass ReadDir() response through HandleRead()

HandleRead() butchers the response from Read(), which is already taking
into account the offset and size parameters of the request.