Make QuicConnection count bytes sent/received in probing packets on alternative paths.

Add an AlternativePathState object in QuicConnection which keeps track of the state of alternative path seen most recently. The states includes effective peer address which is unique to each path and the bytes sent/received to that address.

In order to increment bytes sent on the alternative path, pass the current packet's effective peer address around in packet creator and in quic connection to track the effective peer address which each packet is sent to.

Make connection to check if the received packet or the packet to send is on default path or not before increment existing counters: current_incoming_packet_received_bytes_counted_ and bytes_sent_before_address_validation_

Protected by quic_reloadable_flag_quic_count_bytes_on_alternative_path_seperately.

PiperOrigin-RevId: 349555303
Change-Id: I527938ba9201a3f15162b5f5c1bf4626aab79f9d
diff --git a/quic/core/quic_packet_creator.h b/quic/core/quic_packet_creator.h
index 3628908..5e0c65e 100644
--- a/quic/core/quic_packet_creator.h
+++ b/quic/core/quic_packet_creator.h
@@ -471,6 +471,8 @@
   // Return true if retry_token_ is not empty.
   bool HasRetryToken() const;
 
+  const QuicSocketAddress& peer_address() const { return packet_.peer_address; }
+
  private:
   friend class test::QuicPacketCreatorPeer;