Improve diagnosis during the fork/exec

The fork_exec_rpc function now returns a

  ('response, Rpc.t (* error *)) Result.t Deferred.t

where the error Rpc.t has the most precise diagnosis we have and is
ready to go.

Signed-off-by: David Scott <dave.scott@citrix.com>