brilliant refactor

There are now two objects, a Corpus and an Aligner. The Corpus is
initialized from a directory and options. The Aligner is initialized
from options. The Aligner takes the Corpus as an argument for flat start
training.