Bugfix wrong variable name

Compilers sure are silly!
Split out the evince-launching bit into its own function

Intended to be reused for browser launching. Also, fix a big bug
in the logic! I had "pid" for "pid2" the second time.
Use an open_url() function, not webbrowser

This way I can make Firefox's random Glib warnings go away.
Globalize urllib2.quote since it show up so much
Note ADS 2.0 record search for The Future
Centralize pub-listing routine

I expect to be making use of it more in ... The Future.
Have locate_pub return PubRows, not just ids

This generally makes life easier. I don't feel like I've tested the tweaked
code paths very well, but I'll fix things later if I screwed anything up.