Update ns downloads when we receive a bridge descriptor

This prevents long stalls when we're starting with a state file but
with no bridge descriptors.  Fixes bug 9229.  I believe this bug has
been present since 0.2.0.3-alpha.
Fix our check for the "first" bridge descriptor.

This is meant to be a better bug 9229 fix -- or at least, one more
in tune with the intent of the original code, which calls
router_retry_directory_downloads() only on the first bridge descriptor.
should_disable_dir_fetches() now returns 1 if DisableNetwork==1

This change prevents LD_BUG warnings and bootstrap failure messages
when we try to do directory fetches when starting with
DisableNetwork == 1, a consensus present, but no descriptors (or
insufficient descriptors) yet.

Fixes bug 11200 and bug 10405.  It's a bugfix on 0.2.3.9-alpha.
Thanks to mcs for walking me through the repro instructions!
Give no answer, not NOTIMPL, for unsupported DNS query types

According to reports, most programs degrade somewhat gracefully on
getting no answer for an MX or a CERT for www.example.com, but many
flip out completely on a NOTIMPL error.

Also, treat a QTYPE_ALL query as just asking for an A record.

The real fix here is to implement proposal 219 or something like it.

Fixes bug 10268; bugfix on 0.2.0.1-alpha.

Based on a patch from "epoch".
Make num_bridges_usable work properly.

My first implementation was broken, since it returned "whether there
is one bridge" rather than "how many bridges."

Also, the implementation for the n_options_out feature in
choose_random_entry_impl was completely broken due to a missing *.
Merge remote-tracking branch 'public/bug9229_025'

Conflicts:
	src/or/entrynodes.c
Merge remote-tracking branch 'public/bug9229_024' into maint-0.2.4
Merge remote-tracking branch 'origin/maint-0.2.4'

This is an "ours" merge, to avoid taking the 0.2.4 version of the
Don't halt bootstrap to figure out if we should restart PT proxies.

Instead, figure out if we should restart PT proxies _immediately_ after
we re-read the config file.
Rename the got_hup element of managed proxies.

Since we need to toggle that element in non-SIGHUP situations too where
the config was re-read (like in SETCONF or RESETCONF).
Slightly improve the documentation of src/or/transports.c

Make it clear that a SIGHUP is not the only action that can cause a
config re-read.
Merge branch 'bug11156_issue2_squashed'
Merge remote-tracking branch 'public/bug11200'
Merge remote-tracking branch 'public/bug10268'
copy all the changes files into the changelog again. still unedited