Reliably fix userdata errors that have been bugging users for a while
Finally ran into this myself today, after building Vim from source and
editing a Lua script. Turns out the issue wasn't properly fixed yet! I
was able to read the updated if_lua.txt documentation now though, so I
understood the cause of the problem and how to solve it once and for
all. This should be compatible with the old Lua Interface for Vim and
the new one. See also the following issues:
* #23
* Shougo/neocomplcache.vim#401

Disable automatic checking of global variables (for now)
I've found that the naive script I wrote to 'warn about' references to
global variables can really get on your nerves because every time it
runs it resets the height of the quickfix list. Also it can give a lot
of output on bigger scripts which is so overwhelming it becomes useless.
Until I can decrease the verbosity of the script I'm disabling automatic
globals checking by default. Users can still enable it if they want and
of course you can always execute :CheckGlobals(!) manually.

Improve omni completion: support for keywords, less clutter
The description on the right hand side of the completion pop-up window
is now only shown when it has some useful information to convey. This
makes it easier to visually parse the pop-up window.

Bug fixes and support for function signatures
* Bug fix for xolox#lua#dofile(): Unless I'm severely misunderstanding
Vim I've probably found a bug in the Lua Interface for Vim: When you
print() a very long line and try to intercept the output with :redir
commands, the long line is repeated once more after the initial (and
expected) output. This makes it impossible to send large blobs of
serialized data from Lua to Vim. The workaround is simple though:
Simply print() each matching entry individually and join the printed
lines in Vim script before evaluating the expression.
* The dynamic completion sometimes wouldn't use omni completion even
when it was enabled and the best choice. This is now fixed.
* The new xolox#lua#getsignature() function returns the signatures of
standard library functions and is used to show signatures in tool
tips and completion menus.
* The standard library signatures in autoload/xolox/lua_data.vim were
generated using a simple Lua script which I'm also committing.