Inconsistent definition of AST Node QuantumGateDefinition
### OpenQASM version:

3.0

### Python version:

3.8.13

### Operating system:

macOS Monterey 12.3.1

### What is the current behavior?

The current [definition](https://github.com/Qiskit/openqasm/blob/c39eac9f5c87b80df9e8eaeced96cbf4b477e5d2/source/openqasm/openqasm3/ast.py#L172-L188) of `QuantumGateDefinition` in `openqasm3.ast` is inconsistent with the definition in the [grammar](https://github.com/Qiskit/openqasm/blob/c39eac9f5c87b80df9e8eaeced96cbf4b477e5d2/source/grammar/qasm3.g4#L213-L219): its `arguments` field is of type `List[ClassicalArgument]`, whereas according to the grammar it should be `List[Identifier]`.

Note that the [parser](https://github.com/Qiskit/openqasm/blob/c39eac9f5c87b80df9e8eaeced96cbf4b477e5d2/source/openqasm/openqasm3/parser.py#L231-L248) actually does create the `QuantumGateDefinition` node according to the grammar.

### Steps to reproduce the problem

N/A

### What is the expected behavior?

The `QuantumGateDefinition` AST node should be consistent with the grammar.

### Suggested solutions (Optional)

Change the definition of `QuantumGateDefinition.arguments` field to `List[Identifier]`.
diff --git a/source/openqasm/openqasm3/ast.py b/source/openqasm/openqasm3/ast.py
index 5b723bf..bd8aa57 100644
--- a/source/openqasm/openqasm3/ast.py
+++ b/source/openqasm/openqasm3/ast.py
@@ -183,7 +183,7 @@ class QuantumGateDefinition(Statement):
     """
 
     name: Identifier
-    arguments: List[ClassicalArgument]
+    arguments: List[Identifier]
     qubits: List[Identifier]
     body: List[QuantumStatement]
 
['source/openqasm/openqasm3/ast.py']