Parse and build URL query strings.
Splits ?a=1&b=2 into JSON and back, handling arrays (a[]=1&a[]=2), repeated keys and percent-encoding. Values stay strings — a query string has no types.