Sanitize non-ASCII characters out of memorial file names. Fixes #2845.
Cleaned up optional lua functionality for debugging.

* Basic lua initialization
* Customized lua bindings generator with bindings for player, monster, item, uimenu and more
* Wrapper function for iuse so that if lua is enabled, lua functions can be called as well as C++ functions
* Debug option to call arbitrary lua code interactively
Added documentation for working with the lua framework.
Use pkg-config to find lua.
Made generating catalua/catabindings.cpp a build step.
Added lua linking for windows(untested but should work).
Added all kinds of *.pc names for lua5.1

Dammit, distros, get it together already!
Added missing data/main.lua

It's been sitting here all this time and I never noticed it wasn't checked into git.
Functional way to write all the .pc alternatives
Improve liquid craft container handling
Restyle vehicle_parts.json 3/4.
Restyle vehicles.json 3/4.
Restyle materials.json 2/3.
Restyle mutations.json 2/3.
Restyle species.json 2/2.
Merge branch 'master' into Crafting
Style oter_t.
Remove settlement.cpp as it is no longer used at all.
Move colour lookup to a map.
Fix headlights not turning off for vehicules without electricity.

The function that toggled the lights on and off checked if the lights
were off or if the vehicule has some batteries left before toggling the
lights. This allowed vehicules without batteries to turn on their lights
but are not able to turn it off.

Fixed by checking if the lights were off instead.