produce better error codes

if one of the queries in clustered environment failed, the final response was still "200 OK"
now the server will choose `max(all_error_codes)` as a final error code and return it to user instead of "200 OK"
correct error messages for each particular task (if any) can still be parsed from `X-Nexe-Error` response header