ant-quic 0.3.0

QUIC transport protocol with advanced NAT traversal for P2P networks
Documentation
# Task 3.1: Identify and Remove Non-Essential QUIC Features

## Changes Made

### 1. Dependency and Feature Cleanup

- Removed unnecessary feature flags:
  - Removed `bloom` feature and related code
  - Removed `__qlog` feature and related code
  - Removed `arbitrary` feature
  - Removed `runtime-smol` feature
  - Removed `futures-io` feature
  - Removed `lock_tracking` feature
  - Removed `production-ready` feature

- Removed unnecessary dependencies:
  - Removed `qlog` dependency
  - Removed `fastbloom` dependency
  - Removed `arbitrary` dependency
  - Removed `unicode-width` dependency
  - Removed `four-word-networking` dependency

### 2. Code Simplification

- Simplified connection establishment code:
  - Removed complex connection establishment logic
  - Focused on essential NAT traversal functionality
  - Removed unnecessary configuration options

- Simplified NAT traversal frames:
  - Implemented only the three required frames: ADD_ADDRESS, PUNCH_ME_NOW, REMOVE_ADDRESS
  - Added proper encoding/decoding for these frames
  - Removed any non-essential frame types

- Simplified congestion control:
  - Focused on NewReno algorithm only
  - Removed complex BBR implementation
  - Simplified the congestion control interface

- Reduced QUIC protocol versions:
  - Limited to only QUIC v1 (RFC 9000) and Draft 29
  - Removed experimental and unnecessary versions

### 3. Removed Logging and Diagnostics Overhead

- Removed qlog integration:
  - Removed qlog streamer from Connection struct
  - Removed qlog-related methods
  - Removed metrics reporting through qlog

### 4. Path Validation and Migration Focus

- Simplified connection establishment to focus on path validation
- Enhanced NAT traversal frame implementation for better path migration
- Focused on the core functionality needed for NAT traversal

## Benefits

1. **Reduced Complexity**: The codebase is now more focused and easier to understand
2. **Smaller Binary Size**: Removing unnecessary dependencies reduces the compiled binary size
3. **Improved Maintainability**: Fewer features means less code to maintain and test
4. **Better Focus**: The codebase now focuses exclusively on QUIC-native NAT traversal
5. **Simplified API**: The connection establishment API is now more straightforward

## Requirements Addressed

- Requirement 2.1: Implemented only the QUIC-native approach from draft-seemann-quic-nat-traversal-01
- Requirement 2.3: Removed functionality not directly related to QUIC-native NAT traversal
- Requirement 2.4: Provided a minimal, focused interface for P2P connection establishment

The changes made have successfully streamlined the codebase to focus on the essential QUIC features needed for NAT traversal and raw public key authentication, while removing unnecessary complexity.