TALNet: Use both static and dynamic teachers
TALNet: Use both static and dynamic teachers

Summary:
This diff allows using both static and dynamic teachers for TALNet teacher-student training.

A static teacher means its predictions are pre-computed, and stored in a file on Manifold.

A dynamic teacher means loading a model and generating prediction on the fly.

Both types of teachers and the ground truth can be mixed with specified weights.

Also, move `KnowledgeDistillationBinaryCrossEntropyCriterion` and its associated unit test into fb-only folders.

Differential Revision: D19837605

fbshipit-source-id: e25d47331732daba48b1357b7e234e0113611659

pytorch/fairseq,pytorch/fairseq,pytorch/fairseq