Fix a few strncpy bullshit
Turns out the codebase is filled with calls to strncpy
on non null-terminated strings, which causes !885 (merged) to not work properly in some cases.
I tried fixing that but fixing all such strings is a lot of work, so I defaulted to reverting the old entry searching functions, and instead adding an alternate version that can find long names, which is used by Lua only for now.
Ideally the long-term goal would be to eventually completely get rid of the old functions, and use only the long name ones.