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
Merge branch 'master' into pr/2862

Conflicts:
	game.cpp
	player.cpp
Make make understand catalua.cpp
Add some useful bits to gitignore
Merge pull request #2 from narc0tiq/catalua-makefile

Make make understand catalua.cpp
Merge pull request #4337 from GlyphGryph/cibs_lua_for_debugging

Cib's lua for debugging