Rewrite code for function designator.

I did not understand what the function designator is when I wrote the code.
Even now, I don't feel I fully get the idea but I believe I understand the
concept better.

IIRC, the function designator is what we get internally when we see an
identifier having the same name as a function. If you have int f(void)
in your code,

  f

is a function designator whose type is a function returning int.
With a few exceptions (such as passed as an operand for sizeof), the
function designator is immediately converted to a pointer to a function
returning int. The conversion is done in conv() in 8cc.

Previously, a function designator in 8cc had the type of void, and the
structure had incorrect fields.