Fix parsing of parentheses within function parameter declarations.

According to the C++ standard, in an abstract declarator (e.g. function
parameter declaration), if there is only one set of parentheses then the
parentheses are to be intepreted as a function decorator.  The parser was
incorrectly interpreting them as parentheses around a possibly absent
parameter name.