Generate a lua module to help pass build-related settings.

This allows us to avoid hard-coding paths and using environment
variables to communicate key information to unit tests, which fits
with the overall goal of making sure that folks driving CMake directly
can continue to do out-of-tree builds.
Remove undefined functions.
Remove unused function add_long_to_buf.
Remove unused function handle_drop.
Remove unused function get_shape_idx.
Remove unused function re_lookbehind.
Remove unused function highlight_gui_color_rgb.
Remove unused function ui_inchar_undo.
Remove undefined function suspend_shell.
Remove unused function vim_free_in_input_buf.
Remove unused function push_raw_key.
Remove unused function yank_cut_buffer0.
Remove undefined function gui_show_popupmenu + call.
Remove undefined function gui_show_popupmenu + its unused return defines.
Remove unused function unset_global_local_option.
Remove undefined function server_to_input_buf.
Remove unused function free_register.
Remove undefined function adjust_clip_reg.
Remove unused function is_autocmd_blocked.
Remove unused function get_fpos_of_mouse.