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.
Completely replace the oter_id enum by new overmap_terrains.json.
Merge branch 'master' into Crafting