Optimize communication with file io server

The file module communicates with a file io server with the following
protocol for file operations:

> {file_request,From,ReplyAs,Request}
< {file_reply,ReplyAs,Reply}

The ReplyAs value is sent by the client side to match against when
receiving the reply and is otherwise left untouched and passed as is by
the server.

This commit enables receive optimizations by using the reference of the
server monitor, changing the protocol to:

> {file_request,From,MonitorRef,Request}
< {file_reply,MonitorRef,Reply}

As the shape of the messages is not changed, backwards compatibility is
not a concern.