move Viterbi implementations to new decoding module
semi.py: semi-Markov DP
semi.py: use only RHS tags in * operator
Refactor the decoder to send back a derivation (active percepts for eac
factor) and update weights by factor rather than by token position per
se. Fixes a small bug where label bigram feature weights weren't updated
when the current label was correct but the previous label was incorrect.
articleId -> sentId; new output format (fixes #4)
store and print parent, strength, and label with each predicted tag
remove unused method loadSuperSenseData()
switch to 9-column input format for train/eval data, loaded by SupersenseTrainData class
to_tags.py: convert from .mwe format (one sentence per line) to .tags format (one token per line)