refacto flush code
rewrite array size varint
add dedupe hashtable
at last, a working dedup string implementation
remove useless define
cleanup, support objectv