fix: bound exported features preview (trasser-export-preview-budget)
Beads trasser-export-preview-budget. Stacked on !71 (merged). Stream metadata before materializing export features; 16 MiB UTF-8 preview budget with 128-byte envelope reserve, plus existing count limit. Skip other variants and null geometries; truncate at first selected feature exceeding budget. Full export unchanged. Tests: UTF-8 boundary, count boundary, oversized geometry not materialized, filtering, malformed EOF. Java15/15 PASS (including real HTTP exports), docs1135/1135, catalogue235 valid, diff-check PASS. Not a hard JVM heap cap or benchmark; scanning remains linear and unusual whitespace can conservatively truncate. No auto-merge.