Workers handle errors better, code is cleaner

Concordance can now track when its worker fails. Scorer cannot, but doing it right
(both of them) may involve a sort of ticketing system for each job associated with
a concordance or a run.

This commit also fixes many issues and improves (& corrects) the validation module
and associated code.

Related to #15, but to handle #15 well requires tracking jobs better. Not sure it's 
worth the energy expenditure right now to do that. 
Returning from a worker stores the results in a results database. Not doing anything with those results thus far, but hey.