parser cleanup
refactor struct parser. introduced a new helper function 'make_structty'
delete useless option parser

Function prototypes are not parsed by 'function_definition' fule, but as
a normal variable.
eliminate 'block' type
add typedef function
initializer expession no longer belongs to declarator type