alcove_drv: set calls to block forever

Instead of returning after 5 seconds, set call timeout to infinity.

This is similar to doing a blocking receive:

    somefun(Pid) ->
        Pid ! foo,
        receive
            Any ->
                Any
        end.

The problem with returning from a call after a timeout:

* the reply may arrive later. The next call may receive the response
  from the earlier call.

* adding blocking functions (like select) need to block forever. However
  these calls be special cased to perform a call with a timeout of
  infinity.

The downside of using an infinite timeout:

* if the callers passes in an invalid pid, the call will never return

  For example, if the pid has exited or the pid is mistyped in the
  shell.

  The behaviour mirrors the way erlang pid's work though.

* since the process is linked to the gen_server, the port will be killed
  if the process blocked in the call is killed

  However, since the gen_server doesn't check the source of the message,
  it is possible to spawn a worker process and have that perform the
  call.
Add select(2)