Rust query string parser with nesting support