Support positional arguments in Foxx queries

We could prevent a lot of verbosity and subtle mistakes by allowing queries to take positional arguments instead of a vars object.

This change adds a `params` option which, if present, defines the names of the vars the query expects.

It also modifies the behaviour introduced by @stackmagic so *all* extra arguments are passed to the transform.

The only situation in which this doesn't improve the syntax is if the query doesn't take any arguments but you want to pass in arguments to the transform. In this case the first argument will be discarded, so a placeholder value like `undefined` or `null` needs to be provided. This is consistent with prior behaviour.