Split setup_socket_normally() into three other functions
Change STATS_DEBUG output color from blue

Dark blue color causes Xfce-terminal to output unreadable text (cant be
seen from background).  Change to grey:
- will give the feeling this is debug output on first look
- will fix text problem on xfce-terminal and others
Simplify loop in lwan_thread_shutdown()

Since pthread_tryjoin_np() is used, there's no need to have two loops
to shutdown the threads.
Update README to note about logging in Debug builds
Move macro definitions closer to bind_and_listen_addrinfos()
Pass `reuse_port` directly to SET_SOCKET_OPTION_MAY_FAIL()
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