Disallow "*/maskbits" as an address pattern.

Fixes bug 7484. We've had this bug back in a8eaa79e031ee04d44 in
0.0.2pre14, when we first started allowing address masks.
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
Fix configure script build with autoconf < 2.63

We added some AS_VAR_IF-based checks to detect whether we have
managed to compile (but not link) with stack-protector.  On autoconf
before 2.63, we don't have AS_VAR_IF, so we just have to let the
user get a compile error rather than a helpful "find libssp" error.

Fixes bug 12693; bugfix on 0.2.5.2-alpha (commit 21ac292820da578)
Add `published` line to `@type bridge-network-status` documents.

This modifies the format of the bridge networkstatus documents produced
by the BridgeAuth. The new format adds a `published` line to the header
of the file, before the `flag-thresholds` line. This is done once per
networkstatus file that is written. The timestamp in the `published`
line is the standard ISO 8601 format (with a space as the separator)
used throughout the rest of tor.

 * FIXES #12951 https://bugs.torproject.org/12951
Add the ed25519 ref10 code verbatim from supercop-20140622

We might use libsodium or ed25519-donna later on, but for now, let's
see whether this is fast enough.  We should use it in all cases when
performance doesn't matter.
Integrate ed25519_ref10 into our build system.
Add some explicit casts as needed to make ed25519_ref10 compile

Apparently, ref10 likes implicit conversions from int64 to int32 more
than our warnings do.
Add headers as needed to make ed25519_ref10 compile.
ed25519_ref10: use uint64_t and int64_t, not long long
systemd unit file: only allow tor to write to /var/lib/tor and /var/log/tor (#12751).

The rest of the filesystem is accessible for reading only. Still, quoting
systemd.exec(5):

  Note that restricting access with these options does not extend to submounts
  of a directory that are created later on.