keys_update_load(): abort if keys_expire_values() returns FALSE.

Indeed, when keys_expire_values() finds a corrupted structure, it reclaims
the keyinfo, hence we must not continue to use the pointer.
bootstrap_completion_status(): was freeing the bootstrap structure too soon.
date2time(): ensure mktime() does not read uninitialized memory.
g2_build_send_qh2(): avoid uninitialized memory read when n is NULL on entry.
vmm_first_hole(): can only read *hole_ptr when it was set earlier!

Since vmm_first_hole() is called with a pointer to a variable that is not
initialized, we must make sure we're not reading its value unless we know
something has been written to it earlier.
thread_small_id(): cosmetic change, to show we always return positive values.
serialize_size_estimate(): ensure we behave correctly when estimate is zero.
iso3166_init(): ensure copied string after strncpy() is NUL-terminated.
Fixed misplaced or missing va_end() calls.
utf32_decompose(): don't set variable that is unused later on.
Avoid problematic bit shifts (left shifts larger than register size).
Since dl_server_valid() returns a boolean, it must be used in a g_assert().
sdbm_rebuild(): was not properly catching errors during copy.
dmesh_collect_fw_host(): removed impossible condition test.
ping_type(): forgot to set has_scp when the GGEP "SCP" key is present.
program_path_allocate(): simplified error path logic.
g2_tree_lookup(): avoid assigning value to variable that is then ignored.
It would be OK to ignore the returned value of p[s]list_append() in general.
file_info_hash_insert_name_size(): ignore head when appending to non-NULL list.
vmsg_send_head_pong_v1(): use returned value from poke_u8() consistently.