first commit
second
add code_generator
remove files
remove debug code
Add destructor in the output of ClassPrinter
Convert all methods to pure virtual.

Now the ClassPrinter still cannot handle static method.
Merge branch 'liangzhao-reshaper' of 192.168.58.104:tool/reshaper into yahuang-dev
Add handling of static and template methods.
Move methods to a separate module.
Add docstrings to the methods of ClassPrinter.
Add static and template functions for testing.
Add unit test for util.
Add unit test for ClassPrinter.