IPv6 Address Validation
Summary
Add strict IPv6 address validation.
Current State
IPv6 addresses in brackets are parsed but not validated.
Requirements
- Validate IPv6 address format
- Support all IPv6 formats (full, compressed, IPv4-mapped)
- Validate zone ID format
- Return specific error for invalid IPv6
Validation Rules
- 8 groups of 4 hex digits, colon-separated
- :: compression (only once)
- IPv4-mapped format (::ffff:192.168.1.1)
- Zone ID after %25
Acceptance Criteria
- Accept valid IPv6 addresses
- Reject malformed addresses with clear errors
- Tests for edge cases