[adb] Fix Use-After-Free in TLS handshake. Fix a Use-After-Free vulnerability in adbd_auth_tls_handshake where a detached thread captures a raw pointer to an 'atransport' object. The fix uses the established 'transport-to-callback' flow in adbd auth. A weak pointer to the transport is captured, and the blocking TLS handshake is performed in a background thread. All state updates are serialized back onto the fdevent looper after verifying the transport's liveness. Additionally: - Add a 3-second socket timeout during the TLS handshake in FdConnection::DoTlsHandshake for non-host builds to prevent Denial of Service. - Decouple the client and server implementations of DoTlsHandshake into separate functions using #ifdefs to improve code readability and maintainability. Bug: 499053500 Test: atest adb_test --host Flag: EXEMPT BUGFIX (cherry picked from commit 5651177b24f8410e0c569fbaded96e628f08e3c4) Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:9d6f9c389fb7cfa7c78ca3ea025d4b36b1adbd87 Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:d095f99b15647e53b968a27e21d53761d166c6e8 Merged-In: I8ed271ab3f15b812b1fc246f4044730f087a1f9e Change-Id: I8ed271ab3f15b812b1fc246f4044730f087a1f9e