Unittest2 features not needed.
Clean up unnecessary tests/variables.
Implement structured keyword parsing.

Where formerly there was one step, transform user input into a
Gatherer url that can be queried, now there are two.  First the user
input is parsed into structured keyword objects, then those objects
are converted into url fragments for the query.

There are some huge advantages to this:

1. The code to transform user input to a url was extremely hackish and
kludgey.  It was borderline unmaintainable, and a minor miracle it
ever worked to begin with (e.g. it took advantage of a certain amount
of flexibility in Gatherer's URL structure).
2. The type of user input requested was highly dependent on the type
of output desired.  Since the input was transformed directly into the
output, there was a huge incentive to demand that the user type search
conditions in a way that was similar to the way that Gatherer
expects, which is somewhat opaque and not all that user-friendly.
With the two-phase procedure, I can have the user enter whatever I
want as long as it's parsable into keyword objects.  Freedom of user
interface expression!
3. If Gatherer ever changes their url format (something I've been
afraid of for a long time), then I'm not completely up a creek.  In
the worst case scenario they completely overhaul it and the concept of
keywords doesn't really compute anymore and I have to come up with a
new abstraction.  Even in this case, though, the user input parser
will still work, it will just need to output different objects.  Best
case scenario, all I have to do is adjust the keyword code to fit
whatever their new format is.  Win/win situation.
Add virtualenv files to gitignore.
Clean up imports.
Add some documentation.
Remove unneeded tests.
Add bare-bones parser error reporting.
Merge branch 'keywords'
Replace optparse with argparse.

Note that argparse is not in the stdlib in python 2.6 and below, so
it package has to be installed by setup.py if that's you version.
Merge branch 'argparse'
Ignore more virtualenvs & install cruft.