Repository: aws-cloudformation/cfn-lint

Issue:
No Support for ItemBatcher & ToleratedFailurePercentage in Map State of StateMachine definition
### CloudFormation Lint Version

0.79.7

### What operating system are you using?

WSL Ubuntu

### Describe the bug

E2532 errors are thrown for  ItemBatcher and ToleratedFailurePercentage for Map states in StateMachine definitions even though they are valid options for a Map state: https://states-language.net/#map-state

```
E2532 State Machine Definition key (ToleratedFailurePercentage) for State (Iterate through ODS List) of Type (Map) is not valid
templates/step-functions.yml:53:7

E2532 State Machine Definition key (ItemBatcher) for State (Iterate through ODS List) of Type (Map) is not valid
templates/step-functions.yml:53:7
```

### Expected behavior

Because they are valid Keys to configure a map state as per the docs here: https://states-language.net/#map-state the cfn-lint should not throw errors.

### Reproduction template

```AWSTemplateFormatVersion: '2010-09-09'
Resources:
  DistrictSpecificMultiTenantConfigStateMachine:
    Type: AWS::StepFunctions::StateMachine
    Properties:
      DefinitionString: |-
        {
          "Comment": "Map",
          "StartAt": "map",
          "States": {
            "map": {
              "Type": "Map",
              "Iterator": {
                "StartAt": "Create DB",
                "States": {
                  "Create DB": {
                    "Type": "Task",
                    "Resource": "arn:aws:states:::lambda:invoke",
                    "OutputPath": "$.Payload",
                    "Parameters": {
                      "Payload.$": "$",
                      "FunctionName": "arn:aws:lambda:my_function:$LATEST"
                    },
                    "Retry": [
                      {
                        "ErrorEquals": [
                          "Lambda.ServiceException",
                          "Lambda.AWSLambdaException",
                          "Lambda.SdkClientException"
                        ],
                        "IntervalSeconds": 2,
                        "MaxAttempts": 6,
                        "BackoffRate": 2
                      }
                    ],
                    "Next": "Insert DB Record"
                  },
                  "Insert DB Record": {
                    "Type": "Task",
                    "Resource": "arn:aws:states:::lambda:invoke",
                    "OutputPath": "$.Payload",
                    "Parameters": {
                      "Payload.$": "$",
                      "FunctionName": "arn:aws:lambda:my_function2:$LATEST"
                    },
                    "Retry": [
                      {
                        "ErrorEquals": [
                          "Lambda.ServiceException",
                          "Lambda.AWSLambdaException",
                          "Lambda.SdkClientException",
                          "Lambda.TooManyRequestsException"
                        ],
                        "IntervalSeconds": 2,
                        "MaxAttempts": 6,
                        "BackoffRate": 2
                      }
                    ],
                    "End": true
                  }
                },
                "ProcessorConfig": {
                  "Mode": "DISTRIBUTED",
                  "ExecutionType": "STANDARD"
                }
              },
              "End": true,
              "MaxConcurrency": 1,
              "ItemReader": {
                "Resource": "arn:aws:states:::s3:getObject",
                "ReaderConfig": {
                  "InputType": "CSV",
                  "CSVHeaderLocation": "FIRST_ROW"
                },
                "Parameters": {
                  "Bucket": "SeedDataBucket",
                  "Key": "test.csv"
                }
              },
              "ToleratedFailurePercentage": 5,
              "ItemBatcher": {
                "MaxItemsPerBatch": 10
              }
            }
          }
        }
```


Discussion:

Resolving patch:
diff --git a/src/cfnlint/rules/resources/stepfunctions/StateMachine.py b/src/cfnlint/rules/resources/stepfunctions/StateMachine.py
--- a/src/cfnlint/rules/resources/stepfunctions/StateMachine.py
+++ b/src/cfnlint/rules/resources/stepfunctions/StateMachine.py
@@ -68,6 +68,8 @@ def _check_state_json(self, def_json, state_name, path):
                 "Retry",
                 "Catch",
                 "Parameters",
+                "ToleratedFailurePercentage",
+                "ItemBatcher",
             ],
             "Choice": ["Choices", "Default"],
             "Wait": ["Seconds", "Timestamp", "SecondsPath", "TimestampPath"],


Test patch: