Revamped specifying whether to use idvecs.

ID-vecs are used by default. To not use them, supply --no-ids.
Small changes to how the logic is propogated through to the
VectorizedCorpus, where it takes effect.
Lots of changes to class structure.

Generally trying to make everything more modular, and have objects
use one another through well-defined API's. Especially true for how the
different objects interact with files.

The experiment is given an output filename, where it is to print
results. The experiment itself has no say in what this gets called. The
experiment will then create a directory based on this name (using a
slightly different name), and then all the little peices of the
experiment can write their log files to that dir. The result is that
each experiment has a file giving the overall results, and a directory
where logging information is stored.
Make running experiments with doit more flexible.

Before, always had to do an abstract and a neural experiment. The goal
here was to make it easy to specify experiments where you're varying any
variable you want, not just abstact/neural.