Don't allow all ORPort values to be NoAdvertise

Fix for bug #9366
Send NETINFO on receiving a NETINFO if we have not yet sent one.

Relays previously, when initiating a connection, would only send a
NETINFO after sending an AUTHENTICATE.  But bridges, when receiving a
connection, would never send AUTH_CHALLENGE.  So relays wouldn't
AUTHENTICATE, and wouldn't NETINFO, and then bridges would be
surprised to be receiving CREATE cells on a non-open circuit.

Fixes bug 9546.
Send NETINFO on receiving a NETINFO if we have not yet sent one.

(Backport to Tor 0.2.3)

Relays previously, when initiating a connection, would only send a
NETINFO after sending an AUTHENTICATE.  But bridges, when receiving a
connection, would never send AUTH_CHALLENGE.  So relays wouldn't
AUTHENTICATE, and wouldn't NETINFO, and then bridges would be
surprised to be receiving CREATE cells on a non-open circuit.

Fixes bug 9546.
Make bridges send AUTH_CHALLENGE cells

The spec requires them to do so, and not doing so creates a situation
where they can't send-test because relays won't extend to them because
of the other part of bug 9546.

Fixes bug 9546; bugfix on 0.2.3.6-alpha.
Make bridges send AUTH_CHALLENGE cells

The spec requires them to do so, and not doing so creates a situation
where they can't send-test because relays won't extend to them because
of the other part of bug 9546.

Fixes bug 9546; bugfix on 0.2.3.6-alpha.
Add a 30-day maximum on user-supplied MaxCircuitDirtiness

Fix for bug 9543.
Merge remote-tracking branch 'public/bug9543' into maint-0.2.4
Merge remote-tracking branch 'public/bug9366' into maint-0.2.4
Merge remote-tracking branch 'public/bug9546_v2' into maint-0.2.4
Merge remote-tracking branch 'public/bug9546_023_v2' into maint-0.2.3
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4

(Using "ours" strategy to avoid taking 9546 fix in 0.2.3; we just
merged our own into 0.2.4)
Merge remote-tracking branch 'origin/maint-0.2.4'