Add callbacks in the client for key events during snowflake connections
This is a followup to the note in #40063 (closed) about a discussion with @sbs on detecting where and how a Snowflake connection fails. This is useful not only for OONI to have access to, but also tor as described in #40062 (closed). Right now all messages are logged in the snowflake log, but this can be hard to parse for applications like OONI that call Snowflake as a library. It's also hard for us to debug client connection attempts because only advanced users can modify their Tor Browser's torrc files to send detailed debugging information to a snowflake log.
These callbacks could be used for a more seamless integration with OONI (and any other application that calls Snowflake as a library), and can also be used with the LOG message in the tor PT spec to send debugging info to the main Tor PT log.