Do not abort on non-string errors

Commit a62819e only addresses tables. Any other error not coerced to string, in
particular nil, can bust busted. The following test exposes the problem:

describe('busted', function ()
    it('must handle any error value', function () error() end)
end)

and results in:

[...]/utf_terminal.lua:22: attempt to concatenate field 'err' (a nil value)

This patch forcibly converts err to tostring(err) if it is not string or a
table onthe core side.