[SPARK-3959][SPARK-3960][SQL] SqlParser fails to parse literal -9223372036854775808 (Long.MinValue). / We can apply unary minus only to literal.

SqlParser fails to parse -9223372036854775808 (Long.MinValue) so we cannot write queries such like as follows.

    SELECT value FROM someTable WHERE value > -9223372036854775808

Additionally, because of the wrong syntax definition, we cannot apply unary minus only to literal. So, we cannot write such expressions.

    -(value1 + value2) // Parenthesized expressions
    -column // Columns
    -MAX(column) // Functions
Sign should be optional. Also I think it would be better to move this rule to the last alternative of `comparisonExpression`, namely from:

```scala
| termExpression
```

to

```scala
| sign.? ~ termExpression ^^ {
    case Some("-") ~ e => UnaryMinus(e)
    case _ => e
  }
```

The reason is that the type of `termExpression` is guaranteed to be numeric.