SSL: set_backend(UNDEFINED) is not supported.

Fixes previous commit.
SSL: Improved robustness in destroy() take III.

Clearing the backend callbacks is a better approach
to inhibiting the CHECK_CB_MODE() test.
Protocols.DNS: The async_tcp_client now actually works.
SSL: Some more robustness fixes in destroy().

set_nonblocking_keep_callbacks() calls update_internal_state(),
which is likely to install callbacks and thus may trigger the
tests in CHECK_CB_MODE() (cf [bug 6958] #6).

Yet another potential fix for [bug 6958].
Removed accidentally added debug code.
Polish some types
A few type fixes.
Fixed last warnings.
Polished types a bit.
Compiler: Fixed bug in derivation of sprintf return type.

This fixes the return type for %s and %q.
Strict types
sprintf type fixes.
Fewer HMAC implementations.
Strict types.
Compatibility fix.
SSL.sslfile: Improved propagation of write errors.

The write callback needs to be called on write failure
if there's no close callback and even if there's data
buffered for writing.

Fixes Stdio.sendfile hanging on SSL.sslfiles where the
remote has closed the connection before reading all data.

Fixes remainder of [bug 6958].
Stdio.sendfile: Fixed typo in start_writer().

The close callback was likely to be cleared when the write callback
was installed.
GTK2: Prevent segfault in G.Object()->get_data() if nothing set
SSL.Constants: Removed some dead code.
Added #pike