moves the query/query_kwargs and the path/path_args into the base request object, where you can set one (eg, set path and you can then get path_args or vice versa). Also adds lots of clarifying comments to the code