Fixing Luarocks

Closes #32354.

Primarily, this fixes Luarocks. It also adds a shared, simple test to Lua & Lua51, tidies up all formulae involved, and revisions all 4 lua-something formulae. 

Theoretically, this could work without revisioning anything other than Luarocks, but doing it this way is much cleaner, smoother and reduces the risk of a lingering lua screwing this update up for users.
Which bit needs to be a ``` Requirement ```?

I kinda hate the complexity too. Honestly, if it was down to me ``` Luarocks ``` would stay scoped to Lua (Lua52), because there's precedent on that with Debian & Ubuntu. ``` Luajit ``` is blazing fast, and I can see why you would perhaps prefer it over the stock ``` Lua ```, especially if you intend to develop with it. I'm pretty :-1: on going out of our way to fix things to work with ``` Lua51 ``` when they function perfectly well on ``` Lua ``` though, I feel like that's a step backwards from our current position.

Largely, I ended up working back in ``` Luajit ``` and ``` Lua51 ``` support due to demand in #32354. It goes against my own desires, but it seems to be a wanted thing.