build-remote.pl: Enforce timeouts locally

Don't pass --timeout / --max-silent-time to the remote builder.
Instead, let the local Nix process terminate the build if it exceeds a
timeout.  The remote builder will be killed as a side-effect.  This
gives better error reporting (since the timeout message from the
remote side wasn't properly propagated) and handles non-Nix problems
like SSH hangs.
build-remote.pl: Create one process fewer on the remote side
Communicate build timeouts to Hydra
In trace messages, don't print the output path

This doesn't work if there is no output named "out".  Hydra didn't use
it anyway.
build-remote.pl: Allow a machine to refuse a build

Before selecting a machine, build-remote.pl will try to run the
command "nix-builds-inhibited" on the machine.  If this command exists
and returns a 0 exit code, then the machine won't be used.  It's up to
the user to provide this command, but it would typically be a script
that checks whether there is enough disk space and whether the load is
not too high.