add bigram feature
 remove uncessary file
 move extract feature into flyweight
 .
 rename somefunction wiht unigram name
 add ViterbiArena
 .
 move extract feature to instance
 .
 .
 rename idx
 refactor code
 rename text_encoder to feature_encoder
 rname text_encode to feature_encoder
 rename classname
 tmp
 .
 compile passed
 fixbug and remove FeatureDictBuilder
 fix all feature relevant unittest, but grad unittest still failed