Make sure we can compile with recent versions of the BFD library.
xmalloc: GC now traces coalesced blocks and freed pages in debugging log.
Added next_pow2_64().
Added ELIST_FOREACH_DATA() and ESLIST_FOREACH_DATA().

Also adds elist_next_data(), elist_prev_data() and eslist_next_data().
lib/file.c: switched logging from g_xxx() routines to s_xxx().
Generate a NM/1.0 HTTP-like header at the top of the pre-computed nm list.

This header contains the SHA1 of the executable (normal and stripped version)
so that we can safely determine whether the symbols apply to the executable.

We used to compare timestamps, but that was unsafe and error-prone.
bitzi_close(): forgot to cleanup some of the periodic events.
tth_cache_lookup(): display full pathname of missing TTH cache file.
Request TTH of shared file once its SHA1 has been re-computed, if it was stale.

This was done as a side effect in huge_update_hashes() if the TTH was NULL,
instead of doing it in huge_verify_callback() when verification is done.

Also changed obsolete usage of "dbg" in favor of "share_debug" to control
debugging output in the HUGE module.
Added property_t casts in case properties are used as hash table keys.
[GTK] Avoid GUI flickering when widget sensitivity is changing quickly.
Renamed TIMESTAMP_BUF_LEN symbolic constant as TIMESTAMP_BUFLEN for consistency.
bsched_heartbeat(): fixed wrong delay computatation, use tm_elapsed_ms().
Cleanup of the pattern interface: hide structure, factorize code, etc...
filename_sanitize(): replace "()" with "[]" in filenames for easier cut-n-paste.

Parentheses are a problem for most UNIX shells since they introduce escape
sequences like $() or indicate that a sub-shell should be used, or that a
function is being defined.

Therefore, to ease copy-n-paste of filenames without going through the shell
auto-completion, which is not always convenient, it is best to avoid parentheses
altogether.
download_mark_active(): do not reset fi->recv_last_rate on HTTP follow-ups.

For regular download where we have only a single source and we face a
follow-up HTTP request, we must not reset fi->recv_last_rate or we'll
mess up with the average download speed estimate for the file.

This fixed a bug in the GUI where the estimated completion time was reset
each time we were issuing a follow-up request for single-sourced downloads.
complete_iconv(): added some assertions following a crash.
guid_extract_gtkg_info(): fixed grave bug, making all GTKGs appear hostile.
Added hash_list_lookup() to return the stored key if found in the list.
Keep track of the reasons leading to the dynamic recording of hostile hosts.

This allows to log what caused a particular IP address to become hostile,
in order to diagnose overzealous classification of legitimate hosts as being
hostile entities!