redirect can take a hash of queries

I found that it would often be helpful to pass information to another page via a query string, so I added the ability to include an object of `{ q : val, q2 : val2 }` as either the second or third variable (in the case of having codes or not). The parsing of redirect string and code values (order not mattering) should be preserved.