Replace mutex_(un)lock_hidden() calls with CQ_(UN)LOCK() macros.

This helps getting these hidden locks to stand out in the code.
download_server_retry_after(): removed too strong pre-condition.

This could cause a crash when the EOF condition is received shortly after we
determined that the file was completed and that we could begin to check its
SHA1...  Since everything has been suspended, there is nothing waiting.
download_send_request(): can pick chunks only when swarming AND file size known.

When the file size is not known, it is hard to pick chunk in the upper part
since we do not know the upper boundary.
guess_pmsg_free(): make sure pool does not contain host before adding it back.
GUESS: when we're de-facto starving, act as if genuinely starving.

This accelerates termination of a GUESS query more quickly when it is flagged
to end when starving.
file_info_size_known(): new file size is largest between size and what we have!
Remember when user requests an auto-restart, to keep the same session going.
Handle dynamic disabling of the DHT in the Gnutella publishing layer.

Disabling the DHT dynamically whilst there were pending publish events in
the callout queue caused crashes.
http_send_status(): was not properly detecting too large HTTP headers.

Due to an off-by-one check, too large headers were not reformatted using a
minimal set, to leave more room for the message body.  Hence, we sent out
replies with a truncated body sometimes.
Semi-reliable RX UDP: re-ack everything well before the whole message expires.

The rationale is that it is better to send an extra ACK (which the TX
side will discard) than to let the remote side timeout because it is
not getting any of our ACKs.
Updated bootstrapping UHC list.