cleaned up ASTType header

give proper error on invalid argument type
correctly parse simple C typedefs