Diagnose invalid decl-specifiers in non-type template parameter declarations
According to the C++ Standard [temp.param]p2:
A storage class shall not be specified in a template-parameter declaration.
Additionally other decl-specifiers are also restricted.
This patch implements a diagnostic for these restrictions within Sema (inspired by how the restrictions are enforced within ActOnParamDeclarator).
What about folding both of these diagnostics into one with something along these lines:
def err_storage_class_template_parameter : Error<
And for no identifier, do << 0, and for the valid identifier case: do << 1 << ParamDecl.getIdentifier()