T&K is not processed in preprocess.cpp
Replace template
Merge branch 'lgz'
rewrite preprocess.h

clean data own relationship. Preprocess keeps data, and return a
unmodify reference.

Signed-off-by: xiehuc <xiehuc@gmail.com>
add doc

Signed-off-by: xiehuc <xiehuc@gmail.com>
build as shared library to speed up compile

Signed-off-by: xiehuc <xiehuc@gmail.com>
clean code alignment

Signed-off-by: xiehuc <xiehuc@gmail.com>