build: add --enable-Werror switch

There are too many cases where general -Werror causes compile
failures without good reason including:
* new warnings on version bumps of GCC/GLIBC the developer was
  not aware of at the point of coding
* some autoconf checks will fail badly
* libraries adding deprecated API warnings although that API
  is still working/supported
* on less known architectures we may get different/more
  warnings than on common ones
* random breakage depending on what distro/architecture/library
  version/kernel/userland the developer was testing "-Werror" on

So we add a switch and have it default to off, since it
is only interesting for development.

Specific flags such as -Werror=implicit-function-declaration
might be ok to force unconditionally for everyone depending
on what we expect from the code.