* init trieconcat_op
* add basic implementation
* add test
* add more test
* update unit test
* add PackAllSteps test
* fix PackAllSteps
* all test passed
* clean code
* remove state inside helper
* rename prob to score
* optimize RemoveFromEnd
* use deconstructor to delete BeamNode recursively
* optimize interface
* add comment to interface
* optimizer data structure
* use template to define the type of score
* use template parameter for BeamHelper
* change father to parent
* rename TrieConcat to BeamSearchOutConcat
* use LoDTensorArray
* rename BeamSearchOutConcat to BeamSearchDecode
* refine code
* remain all candidate sentence in beam_search_decode_op, do not consider endid
* use unique_ptr
* fix compare bug
* fix lod compile problem