Refactor the way to parse c struct

Originally, when struct variable is used, the struct has to be defined
before. Or it comes to the error that cannot find struct csymbol.

Now, a fake struct csymbol is created at this time, and will be
complemented when its definition appears.

Signed-off-by: Yicheng Qin <qycqycqycqycqyc@gmail.com>
Support union type

Signed-off-by: Yicheng Qin <qycqycqycqycqyc@gmail.com>