Use more warning flags

Includes -Wextra and some more stuff, but excludes serious annoyances.

We might want to fix sign comparision issues separately later.

Someone should test whether this works with clang and not-so-modern gcc.