Switch onion.c to use TRUNNEL_OPAQUE

The TRUNNEL_OPAQUE macro stops trunnel from exposing object internals in its headers; we should use that in onion.c. (And possibly elsewhere.) Noted by dgoulet during code review.