AnswerHitlistCAS: Split to Question, AnswerHitlist views and carry full question data

This will be useful when we unravel the hitlist back to do further analysis of some answers.
YodaQA pipeline: Add an extra 'Evidence Gathering' phase, so far no-op

After scoring once, we run (new CAS multiplier) AnswerSplitter to create
CandidateAnswerCASes for top 5 answers, then do... nothing yet, merge
them back (reusing AnswerMerger, modified to carry the hitlist along),
optionally snapshot and re-score.
YodaQA: - stray debug print
AnswerScor*: Differentiate between scoring phases

With this change, we can finally train and use different models for
different scoring phases.

AnswerScoreLogistic1.model is just a copy of the first model.
AnswerScoreLogistic: Add a debug print marking each process()
YodaQA pipeline: Add an extra 'Hitlist Pruning' phase, keeping just the top 100 answers

We cut off only 13/430 answers from the recall, and aim to reduce the noise.
Add some debug prints related to pipeline skips and serialization
AnswerHitlistDeserialize: Grab QuestionInfo from the direct jcas, which is a QuestionCAS after all
YodaQA: Fix several control flow mistakes for late load cases
data/ml/answer-train.py: Fix crashes when testing on a tiny sample
data/eval/train-and-eval.sh: Add support for training on serialization points #1 and #2 too