Use gperf to create faster lookup tables for Lua libs

Registered by Kay Roepke

The various Lua libraries we have are all using cascading if-else comparisons in metatable handler functions.
Not only do we waste time with that approach (worst case there are N strcmp calls for a table containing N fields) but it's also hard to read. Using a hash table and a switch statement is more efficient and provides compiler support (when the thing we switch on is an enum) to make sure we don't miss any possible keys. See the wiki page for an example.

Blueprint information

Status:
Not started
Approver:
Kay Roepke
Priority:
Low
Drafter:
Kay Roepke
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.