Ensure lwan_writev() works with short writes

Apparently I misunderstood the affirmation that writes performed by
writev() are atomic, and never considered that short writes would be an
issue. However, as evidenced by Issue #77, this happens even on
localhost.

Use the technique shown in this[1] StackOverflow answer, which
basically finds which of the entries in the `struct iovec` that the
write couldn't be fully performed, adjust the buffer address and
length, and try again.

[1] http://stackoverflow.com/a/5859890
Ensure lwan_write() takes care of short writes as well
Ensure lwan_send() also considers short writes
Use UPPERCASE constants in lwan-io-wrappers.c
Use a precalculated Base64 decode table
Fix Lua 5.1 detection on systems with old pkg-config

Should help with issue #75.
Depend on older version of SQLite3 libraries

Should help with issue #75.
HTTP path parsing should fail if line isn't long enough
Build even if _Static_assert isn't available

Should help with issue #75 as well.
Fix HTTP parsing after d47039

Buffer passed to identify_http_path() begins with the path already, so
considering the method name is wrong at this stage.
Update README.md