count DATA cells with stream ID 0 as delivered for SENDME purposes

Found while investigating 8093, but probably not the cause of it,
since this bug would result in us sending too few SENDMEs, not in us
receiving SENDMEs unexpectedly.

Bugfix on the fix for 7889, which has appeared in 0.2.4.10-alpha, but
not yet in any released 0.2.3.x version.
sandbox: revamp sandbox_getaddrinfo cacheing

The old cache had problems:
     * It needed to be manually preloaded. (It didn't remember any
       address you didn't tell it to remember)
     * It was AF_INET only.
     * It looked at its cache even if the sandbox wasn't turned on.
     * It couldn't remember errors.
     * It had some memory management problems. (You can't use memcpy
       to copy an addrinfo safely; it has pointers in.)

This patch fixes those issues, and moves to a hash table.

Fixes bug 11970; bugfix on 0.2.5.1-alpha.
Bulletproof our 11246 fix a little, based on recommendation from andrea.
put the right trac ticket number in changes file
Improved diagnostic log for bug 8387.

When we find a stranded one-hop circuit, log whether it is dirty,
log information about any streams on it, and log information about
connections they might be linked to.
Update geoip6 to the June 4 2014 database.
Update geoip to the June 4 2014 database.
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
Merge remote-tracking branch 'karsten/geoip6-jun2014' into maint-0.2.4
Fix changes file for geoip
Merge remote-tracking branch 'origin/maint-0.2.4'
Move circuit-id-in-use check for CREATE cells to before all other checks

This means that we never send a DESTROY cell in response to an attempt
to CREATE an existing circuit.  Fixes bug 12191.
Merge remote-tracking branch 'public/more_bug8387_diagnosis'
Merge remote-tracking branch 'public/not_bug8093'
Yield a real error in the bug case of sandbox_getaddrinfo()
Merge remote-tracking branch 'public/bug11970'
Give each or_connection_t a slightly randomized idle_timeout

Instead of killing an or_connection_t that has had no circuits for
the last 3 minutes, give every or_connection_t a randomized timeout,
so that an observer can't so easily infer from the connection close
time the time at which its last circuit closed.

Also, increase the base timeout for canonical connections from 3
minutes to 15 minutes.

Fix for ticket 6799.
Replace last_added_nonpadding with last_had_circuits

The point of the "idle timeout" for connections is to kill the
connection a while after it has no more circuits.  But using "last
added a non-padding cell" as a proxy for that is wrong, since if the
last circuit is closed from the other side of the connection, we
will not have sent anything on that connection since well before the
last circuit closed.

This is part of fixing 6799.

When applied to 0.2.5, it is also a fix for 12023.
Fix a 32-big conversion warning in 11970 fix
Tweak changes entry for 6799