KNF fixes
Use const char *.

Suggested by miod@
Clean up the remaining TTY related remnants.

ok miod@
The apps_{startup,shutdown} macro mess is now only used in openssl.c -
reduce the macro to two functions and just call them instead.

ok miod@
NON_MAIN no longer means anything so remove it, along with APP_INIT.

ok miod@
do_pipe_sig is now only used in openssl.c - just call signal() directly
from there instead and ditch the macro.
Fold in the zlib_cleanup macro.
KNF.
Do you really want to build OpenSSL for 16-bit Windows? Well, we don't.

ok miod@
This is not FreeBSD.

ok miod@
KNF.
More KNF.
Replace all use of ERR_add_error_data with ERR_asprintf_error_data.
This avoids a lot of ugly gymnastics to do snprintfs before sending the
bag of strings to ERR, and eliminates at least one place in dso_dlfctn.c
where it was being called with the incorrect number of arguments and
using random things off the stack as addresses of strings.
ok krw@, jsing@