Use local file operations for slave nodes

Opening a socket on a slave node using the procket setuid helper would
fail, due to file operations being performed on the master:

    1> slave:start('bar', 'n', "-env ERL_LIBS /path/to/erlang").

    (n@foo)3> rpc:call('n@bar', procket, open, [58, [{protocol,tcp},{family,inet},{type,stream}]]).
    {badrpc,{'EXIT',{{badmatch,{error,enoent}},
            [{procket,fdopen,1,[{file,"src/procket.erl"},{line,258}]},
             {procket,open,2,[{file,"src/procket.erl"},{line,191}]},
             {rpc,'-handle_call_call/6-fun-0-',5,
             [{file,"rpc.erl"},{line,205}]}]}}}

The failure happens because procket creates a temporary directory to
store the unix socket used to pass the fd from the helper into the NIF.
Because slave nodes defer file operations to the master, the temp
directory would be created on the master but would be attempted to be
used on the slave.

The work around was to manually specify the location of the unix socket
using the 'pipe' option:

    rpc:call('n@bar', procket, open, [58, [{pipe, "/tmp/procket.s"}, {protocol,tcp},{family,inet},{type,stream}]]).

Fix by bypassing the file server using the prim_file module directly.
Slave nodes now should work without any other setup:

    (n@foo)3> rpc:call('n@bar', procket, open, [58,
            [{protocol,tcp},{family,inet},{type,stream}]]).
    {ok,14}
    (n@foo)4> rpc:call('n@bar', gen_tcp, listen, [0,
            [{fd,14}]]).
    {ok,#Port<7189.783>}

Checking the remote mode, the socket is listening:

    bar$ sudo netstat -ptnl | grep 58
    tcp        0      0 0.0.0.0:58              0.0.0.0:* LISTEN      23902/beam.smp

Thanks to xingang shi for reporting and debugging this problem!