Call {@link this} with 0 arguments, including metatag processing, and return only the first return value.
If {@code this} is a {@link LuaFunction}, call it, and return only its first return value, dropping any others. Otherwise, look for the {@link CALL} metatag and call that.
If the return value is a {@link Varargs}, only the 1st value will be returned. To get multiple values, use {@link #invoke()} instead.
To call {@link this} as a method call, use {@link #method(LuaValue)} instead.
@return First return value {@code (this())}, or {@link NIL} if there were none.
@throws LuaError if not a function and {@link CALL} is not defined, or the invoked function throws a {@link LuaError} or the invoked closure throw a lua {@code error}
@see #call(LuaValue)
@see #call(LuaValue,LuaValue)
@see #call(LuaValue,LuaValue,LuaValue)
@see #invoke()
@see #method(String)
@see #method(LuaValue)