Add a "union" keyword to replace funcenum.

funcenums are probably my biggest mistake in SourcePawn. Oh well. For future compilers, it makes much more sense to parse these as a discriminated union type rather than some hack for functags. In the meantime, spcomp1 can just compile it to a funcenum.

Since no tag -> void|int in old sytnax, someone should make sure these sdkhooks tags are supposed to be "void" and not "int".