Fix the core recursive Wick expansion function
Fix the core recursive Wick expansion function

Previously the program logic is wrong, the same term will be added
multiple times.  Now it is fixed.  The code has a clean structure of a
decision tree.

tschijnmo/drudge,tschijnmo/drudge,tschijnmo/drudge