lua: Finish string support: support stringifying funcrefs
tests: Add string() function tests
lua: Support echoing funcrefs

In Vim `:echo function('tr')` echoes `tr`, not `function('tr')`.
lua: Record globals at the very beginning of the file

Should catch globals that were accidently created below, in vim.lua. The only
exception is `vim` global: it is created just after `vim.lua` is loaded.
testhelpers/lua: Also test for differences in state

Tests should not alter used state: all variables and functions should be
deleted
translator/lua: Add support for :function abort
translator/lua: Fix exception handling: pcall() returns 2 values

Do not know where I have seen 3.
tests: Check function return values