hook: add execToolRunner and tool runner benchmark

This is the way that the hook tools are intended to be run.
We don't make it the default because a) it's harder to test
and b) it's much slower (getting details on 200 relations
takes ~4 seconds using exec, and 0.02 seconds using the
socket)