Parse a parameter declaration.
(parse-parameter-declaration parstate) → (mv erp paramdecl span new-parstate)
A parameter declaration always starts with a list of one or more declaration specifiers, which we parse. Then we may have a declarator, an abstract declarator, or nothing.
As explained in amb-declor/absdeclor, there is a complex syntactic overlap between declarators and abstract declarators. Thus, unless there is no (abstract or non-abstract) declarator, which we recognize by the presence of a comma or closed parenthesis, we parse a possibly ambiguous declarator or abstract declarator, and generate a parameter declarator accordingly, and then a parameter declaration with the declaration specifiers.