When closing config file, check for fclose() return value

Suggested on Issue #59.
Abort program if setting signal handler for SIGINT fails

Suggested on Issue #59.
Ensure MIME Type is set while building redir response
Update MIME type test expectation after 5d19fc390
Crude DDoS protection for slow clients

Limit number of read() calls required to receive a whole request.
Don't use signal-unsafe longjmp in signal handler

This uses the method suggested by Leandro in
https://github.com/lpereira/lwan/issues/58 to close the main socket in
the signal handler and check for EBADF to break out of the main loop.

Fixes #58
Initialize the main_socket to -1

Also make sure we get a valid socket from the lwan_t passed into
lwan_main_loop().
Place the assert on main_socket before setting it

Prevents lwan_main_loop() from being called multiple times.
Only perform the bare essential in _signal_handler()

Also rename it to _sigint_handler(), as only Interrupt signal is
captured.
Always increment cache entry ref when pruning
Issue a critical error if copying URL map was unsuccessful

No need to use ASSERT_NOT_REACHED() here.
Do not look twice for '=' while parsing key=value in configuration
Cleanup _create_realm_file()
Be more strict while escaping HTML in template
Update README and web page
Fix test expectations after changing HTML escaping policy
Also test for correct MIME Type in /icons/ (in addition to /icons)
Add COPYING file (GPLv2).

Lwan is licensed under GPLv2+, but this information was only present
within each source file.  Adding this to make it clear that this
license applies to the whole project, except where stated otherwise.
Check the presence of SSE4.2 in runtime to avoid SIGILL

On release builds, the hash table uses the SSE4.2-only CRC32C
instructions to calculate the hash value.  Although the compiler might
support it, the CPU running Lwan might not.  Perform a runtime check
using GCC builtins to select which hashing function to use.

Fixes #61.
Remove _ prefix from static functions