Cleanup build system: move additional libraries to a CMake list
Use `const char*` in strbuf_set() and strbuf_append()
Add preliminary Lua module

This has a lot of room for improvement, both in performance and feature
set.  The idea is to actually make it work first, then slowly improve
it.  This can maybe close #13.

For instance:

- Although LuaJIT is used if found, the script is reparsed every time,
giving no chance for any kind of optimization to actually happen.

- A script file can only contain a single endpoint (unless glue code in
Lua is written to deal with dispatch, etc).  Ideally functions could be
defined so that a single script file could handle multiple endpoints;
for instance, to handle "GET /lua/hello" to a module that answers to
prefix "/lua", one would define the following function:

	function handle_get_hello(request, response)
		name = request.query_string["name"]
		if name then
			response.say("Hello, " .. name .. "!")
		else
			response.say("Hello, World!")
		end
	end

- Only "lwan.say()" is implemented. This maps to "strbuf_set()"
followed by "lwan_response_send_chunk()".
Honor `default type` configuration option
Fail initializing Lua module if script not provided in configuration
Use a single character rather than a string for the request registry index
Cache script compilation and environment setup
Move parse_expires() to config.c; rename to parse_time_period()
Return default_vlaue in parse_time_period() if str is NULL
Make Lua script cache period configurable
Yield Lwan coroutine if Lua coroutine yields
Add lwan.yield() to Lua module
Lua error messages include the file name
Ensure thread created by lua_newthread() is unreferenced
Create helper function get_request_from_lua_state()
Implement lwan.set_response() from Lua side
lwan.set_response() and lwan.say() return no value
Add lwan.query_param().
No need to call lua_getglobal(L, k), lua_xmove(L, L1, 1), lua_getglobal(L1, k)
Make it possible to have multiple entry points per Lua script