Support table errors.
Support table errors.

LuaSocket wraps error messages raised by newtry() in a table and unpacks
them later so that (string) errors raised by 3rd-party code can be
passed through as-is. This obviously didn't work when the 3rd-party code
raised a table as an error message. This change sets a private metatable
on all wrapped LuaSocket exceptions to distinguish them from 3rd-party
table errors.

diegonehab/LuaSocket,BeamNG/luasocket,enginix/luasocket,cjtallman/luasocket,cjtallman/luasocket,enginix/luasocket,enginix/luasocket,BeamNG/luasocket,BeamNG/luasocket,cjtallman/luasocket,diegonehab/LuaSocket,cjtallman/luasocket,enginix/luasocket,BeamNG/luasocket,diegonehab/LuaSocket