Fix bug reporting when using multithreading
Fix bug reporting when using multithreading

* Don't use `linda:receive()` on workers in parallel map implementation.
  If the lane died due to an error, it will simply hang.
  Return results from the lane at the end of execution instead.
* Wrap errors in workers in tables and pass them as return values.
  Lanes aborts on non-string errors.

mpeterv/luacheck,linuxmaniac/luacheck,xpol/luacheck,linuxmaniac/luacheck,xpol/luacheck,xpol/luacheck,mpeterv/luacheck,mpeterv/luacheck