data/eval/tsvout-rankgraph.sh: New script

I made this originally for the CMU brmson presentation.
data/ml/answer-train.py: New script, still work in progress

Still somewhat worse performance than the simple scorer.
data/ml/answer-train.py: Add 1 to log arguments
data/ml/answer-train.py: Make training really 20-round instead of 5-round
AnswerFV: label typo fix
SolrDocPrimarySearch: Don't set an arbitrary PassageScore

Instead, we special-case this in the AnswerScoreSimple, so that a logit
scorer may learn appropriately.
AF_{Result,Passage}Score -> *LogScore

This fits better to the logistic classifier framework and performs better in multiplications too
LATByWordnet: Set base, baseLAT corresponding to most specific path
AnswerFV.getFV(): New method, includes non-isSet indicator sub-features
LATByFocus: Don't reduce specificity for word substitutions

That is, when we supply a text for number of question word. I can find
no plausible reason to do that.
NE-based LAT: Don't start with specificity 1, leverage AF_OriginNE instead
WordnetLAT: New type as subclass of LAT; isHierarchical() for specificity hierarchy isolation
FinalAnswerCAS -> AnswerHitlistCAS

The purpose of this CAS is now more general, simply as an aggregator of
answers so that they can be ranked, compared, merged. In the future,
this may happen multiple times.
AnswerScoring: New AE; run AnswerScoreSimple *after* merging answers, not before
CanMergeByText: Early-stage dump of AnswerFV of each CandidateAnswer
AF_TyCorPassage{Sp,Dist,Inside}: New set of features, one super-simple fallback tycor

(Currently, this information is unused by the checked in scorer.)