Rip out all of the v2 directory code.

The remaining vestige is that we continue to publish the V2dir flag,
and that, for the controller, we continue to emit v2 directory
formats when requested.
add change log for hs_desc async event
add hidden service descriptor async control event
add test case for hidden service async events
add test case for node_describe_by_id
Add support for TPROXY via new TransTPRoxy option

Based on patch from "thomo" at #10582.
Move the friendly warning about TPROXY and root to EPERM time

I'm doing this because:
   * User doesn't mean you're running as root, and running as root
     doesn't mean you've set User.
   * It's possible that the user has done some other
     capability-based hack to retain the necessary privileges.
Add a sandbox rule to allow IP_TRANSPARENT
Merge branch 'feature_10582'
Some anti-forensics paranoia...

sed -i 's/BN_free/BN_clear_free/g'
changelog for 10793
Merge remote-tracking branch 'public/bug10758'
slownacl's pure-python curve25519 lets us test ntor everywhere.

Improvement on f308adf8382bc7e61ea05a172, where we made the ntor
unit tests run everywhere... so long as a python curve25519 module
was installed.  Now the unit tests don't require that module.
Merge remote-tracking branch 'houqp/hs_control'
Defensive programming in control_event_hs_descriptor_*

It looks to me like these functions can never get called with NULL
arguments, but better safe than sorry.
check-spaces fixes for test_router.c
10365: Close connections if the VERSIONS cell has an odd length.

Fixes issue 10365.
More fixes to rip out all of the v2 directory code.

(This was a squash commit, but I forgot to squash it. Sorry! --Nick)
TransProxyType replaces TransTPROXY option

I'm making this change now since ipfw will want its own option too,
and proliferating options here isn't sensible.

(See #10582 and #10267)
Clean up test_hs.c: warning fix; tor_free() usage.

My OSX laptop rightly gave a warning because of sticking strlen() into
an int, but once I took a closer look... it appears that the strlen()
was part of a needlessly verbose implementation for tor_strdup().

While I was there, I fixed the usage of tor_free() in test_hs.c: It
checks for NULL, and it zeros its argument.  So instead of
    if (foo) {
      tor_free(foo);
      foo = NULL;
    }
we should just say
    tor_free(foo);