produce better error codes

if one of the queries in clustered environment failed, the final response was still "200 OK"
right now the server will choose randomly one of the error codes from clients and return them to user instead of "OK"
correct error messages can still be parsed from `X-Nexe-Error` response header