new() doesn't return undef when it should

If the url is bad, wq() is supposed to return
undef, which it won't do if an option was
passed.
new() doesn't deal with options if it's undef
Merge branch 'new-returns-undef'