Synchronize less frequently when compressing descriptors

This may improve our compression ratios.

fix for 11787
Would-be fix for bug 7733: learn bridge ID from descriptor

If somebody has configured a client to use a bridge without setting
an identity digest (not recommended), learn the identity digest from
whatever bridge descriptor we have downloaded or have in our cache.
Allow ClientTransportPlugins to use proxies

This change allows using Socks4Proxy, Socks5Proxy and HTTPSProxy with
ClientTransportPlugins via the TOR_PT_PROXY extension to the
pluggable transport specification.

This fixes bug #8402.
Fixed the test build with --enable-gcc-warnings
Remove get_bridge_pt_addrport().

The code was not disambiguating ClientTransportPlugin configured and
not used, and ClientTransportPlugin configured, but in a failed state.

The right thing to do is to undo moving the get_transport_by_addrport()
call back into get_proxy_addrport(), and remove and explicit check for
using a Bridge since by the time the check is made, if a Bridge is
being used, it is PT/proxy-less.
Log the correct proxy type on failure.

get_proxy_addrport fills in proxy_type with the correct value, so there
is no point in logging something that's a "best guess" based off the
config.
Improve the log message when a transport doesn't support proxies.

Per feedback, explicltly note that the transport will be killed when it
does not acknowledge the configured outgoing proxy.
Expose parse_client_transport_line() and parse_server_transport_line() for the test suite
Add some mocks needed to unit test ClientTransportPlugin/ServerTransportPlugin config line parsing
Add unit test for ClientTransportPlugin/ServerTransportPlugin config line parsing
Replace all calls to parse_client_transport_line() or parse_server_transport_line() with new parse_transport_line() stub
Merge and refactor redundant parse_client_transport_line() and parse_server_transport_line() functions
Correctly remove extraneous space in router family lines

Fixes bug 12728; bugfix on 0.2.1.7-alpha when the SPLIT_IGNORE_SPACE
option was added.
fix three typos in comments
Build circuits more readily when DisableNetwork goes to 0

When Tor starts with DisabledNetwork set, it would correctly
conclude that it shouldn't try making circuits, but it would
mistakenly cache this conclusion and continue believing it even
when DisableNetwork is set to 0. Fixes the bug introduced by the
fix for bug 11200; bugfix on 0.2.5.4-alpha.
Merge remote-tracking branch 'origin/maint-0.2.5'
fix extra words in man page
Fix some URLs in the README

patch from mttp; fixes 12830
Don't send DESTROY to circID 0 when circuit_deliver_create_cell fails

Cypherpunks found this and wrote this patch.

Fix for 12848; fix on (I think) d58d4c0d, which went into 0.0.8pre1
Add an extra check in channel_send_destroy for circID==0

Prevents other cases of 12848.