set_defaults() should set req.url = query_url if provided

set_defaults() wasn't doing anything with query_url if it was provided. 

Also, there's some stuff in beer that breaks if query() doesn't take a 1st arg of 'q'. Is there a reason it can't?