URI Builder/Formatter

Summary

Add a URI builder for constructing URIs from components.

Requirements

  • Builder struct with fluent API
  • setScheme(), setHost(), setPort(), etc.
  • Automatic percent-encoding of components
  • Validation during construction
  • build() returns formatted URI string

Example API

const result = Uri.builder(allocator)
    .scheme("https")
    .host("example.com")
    .port(8080)
    .path("/api/v1/users")
    .query("page", "1")
    .build();

Acceptance Criteria

  • Builder creates valid URIs
  • Proper encoding applied
  • Tests for various combinations