[clang] Diagnose misplaced array bounds with non-identifier declarators. (#155064)
ParseMisplacedBracketDeclarator assumed that declarators without
associated identifier are ill-formed and already diagnosed previously.
This didn't consider declarators using template-ids, constructors,
destructors, conversion functions, etc.
Fixes #147333.