AnswerGSHook: Prefer shortest matching answers over highest scored answers

This is a part of the effort to make brmson prefer precise answers and
make the classifier more sharp-pointed.
AnswerGSHook: Fix the length preference logic
AnswerGSHook: Prefer answers contained in other answers rather than using a length criterion
AnswerGSHook getReferenceAnswer(): Factor out getAnswerScore()
AnswerGSHook: Make a much better job selecting the shortest answer as the correct one

Two-phase selection now, first best score, then shortest. Before, we
might venture in various ways while shortening the answer and also would
reset the shortening when re-encountering a high-scored answer.
Merge branch 'master' into f/shortestanswins
AnswerScoreLogistic: Update the model