Makefile: make the order-dep hack even hackier

Instead of wasting time with ugly workarounds, name the dependency after
something that cc would just ignore. (-W is alias to -Wextra, it is
mostly harmless.)
Makefile: remove hack, use just make's macros

Even after renaming the prereq to "-W", it still remained first in the
$^ and $< variables, so it wouldn't compile anyway.

Changed to just use 'pre' and filter it using Make's custom function
definitions.
Makefile: remove the leftover target
Makefile: fix the targets being always built

'pre' is .PHONY so it is always considered "new"

This basically re-adds the same deps as previously existed.
dist/prepare: detect Fedora with empty lsb-release
mkpasswd, tapchown, xor, xors: fix some warnings
mkpasswd: remove unnecessary 'static'
mkpasswd: fail if /dev/urandom cannot be read
Merge fc2.core:~/code
krb5.h: use <krb5.h> on Linux too
k5userok: wrap the krb5_parse_name_flags stub in a different ifdef
Makefile: allow adding extra cflags at the end
dist/prepare: default to out=host
Makefile: improve verbose_echo
dist: implement dist/configure
lib.bash: correctly declare a variable as local
lib.bash: use print_msg style for log()+$DEBUG

…in line with say() and the rest.
dist/install-ssl-certs: be more verbose
dist/*: convert \033 to shorter \e where applicable
lib, dist/*: remove duplicate warn(), err() implementations