Rename liblwan to common

Lwan isn't really designed to be used as a library. Lots of code need to be
cleaned up before that happens.  So just use a saner name in the mean time.
Add configuration file parser.

The file format is a simple, plain-text, key=value format, with support for
nested sections.  Keys and values are strings, but integer- (with proper
error checking and multiple numerical base support) and boolean- (with
various synonyms for boolean values) are provided.

The usage is pretty simple, and will be better illustrated by the next
commit, which wires the configuration parsing to lwan.
Wire the configuration file reader.

Various changes were needed to support this.

First, handlers are now supposed to implement a `init_from_hash()` function,
which takes a hash table of key=value pairs and initializes the module.  See
the file serving handler for an example.

Tries now have a node-freeing function.

Lwan now links with -ldl so that it can `dlsym()` itself to find the
required symbols.  This might (and probably will) change in the future.

The configuration file must have the same name as the executable, but with a
`.conf` suffix.  It is nowadays being opened from the current directory, but
this might change in the future (maybe respecting XDG config spec or
something of similar nature).
Update README.md
Fix crash when configuration couldn't be opened

The trie wasn't being initialized if the configuration file failed to open.
Simplify handler/callback mutual exclusion check
Remove unneeded pointer nullity check

It was a leftover from a gone malloc() call
Do not calculate stack address twice
Merge remote-tracking branch 'lwan/master'