[RDY] Improve test error handling and reporting

Some fixes that should greatly improve error reporting and handling occurred in functional tests. This should finally fix(hopefully) those random deadlocks that happen during test runs.

Also had to push a new version of the lua-client for this to work properly, because previously it was possible have recursive`uv_run` calls that created infinite loops(that was common to happen when errors were raised in request/notification handlers passed to the `run()` helper function)