* Refactor datasets
* Update evaluators
* Update trainers
* Update main and MP-CNN model
* Add serialization util
* Fix bugs
* Refactoring for NCE to use new parent class
* update nce-sm
* refactor code, update torchtext
* use shared evaluation
* refactor code, use shared data loader
* refactor code
* refactor code
* refactor code according to Michael's great suggestions
* update readme and requirement
* update datasets and readme
* update data loader
* add space between +
* Add TrecQA dataset and modularize MP-CNN infra
* Stylistic improvements
* Fix and warn about trec_eval path issue
* Update README for MP-CNN
* Update incorrect map/mrr
* MP-CNN: address code review comments
* Create common Castor pair Dataset class
* Move map and mrr computation to Castor utils
* Make map mrr utility trec_eval path more general
* Add SICK torchtext Dataset
* SICK dataset - torchtext postprocess into class probs
* Update model, driver, trainer, evaluator for SICK for torchtext
* MP-CNN: Fix bugs that prevent SICK from running on gpu 0
* MP-CNN: make SICK dataset w/ torchtext GPU-agnostic
* MP-CNN: support sparse features / idf overlap with torchtext
* Add MSRVID dataset with torchtext and update MP-CNN code to use it
* MP-CNN: Make torchtext deterministic by setting python random seed
* SICK and MSRVID datasets - add pair id for debug and build test vocab
* MP-CNN: Update readme to address potential module not found error
* MP-CNN: address review comments, can run on cpu