Create query strings when constructing paths from routes.

I ran into the need to construct a path with query parameters, rather than just path parameters. Any parameters passed to `Path.build` that aren't explicit path parameters are assumed to be query parameters.

Hope this is of use, I'm not sure this is the cleanest idiomatic approach, though. Always open to suggestions. :)
I'm hoping the double `param_names(path)` will be optimized to a single call by the compiler due to all that fancy immutable data magic. :)