### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I have an application which uses SQS.
It works in production.
It has acceptance tests which were passing with localstack until very recently.

Now I see:

```
An error occurred (InvalidParameterValue) when calling the SendMessage operation: Value 0 for parameter DelaySeconds is invalid. Reason: The request include parameter that is not valid for this queue type.
```

Yes, delay `0` is being passed in to `send_message` but this used to work in both localstack and AWS.

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.send_message

> DelaySeconds (integer) --
The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. 

### Expected Behavior

DelaySeconds 0 is a valid value.

sqs send_message works when explicitly setting delay 0.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker run localstack/localstack

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

1. Create a SQS FIFO queue.
2. Try to `send_message`, specifying `DelaySeconds=0`

### Environment

```markdown
- OS: macos
- LocalStack: latest
```


### Anything else?

I notice on a recent issue that @thrau said he recently changed how SQS attribute values are validated.
if not re.match(ATTR_NAME_PREFIX_SUFFIX_REGEX, attribute_name.lower()):
            raise InvalidParameterValue(
                "You can't use message attribute names beginning with 'AWS.' or 'Amazon.'. "
                "These strings are reserved for internal use. Additionally, they cannot start or end with '.'."
            )
        attribute = message_attributes[attribute_name]
        attribute_type = attribute.get("DataType")
        if not attribute_type:
            raise InvalidParameterValue("Missing required parameter DataType")
        if not re.match(ATTR_TYPE_REGEX, attribute_type):
            raise InvalidParameterValue(
                f"Type for parameter MessageAttributes.Attribute_name.DataType must be prefixed"
                f'with "String", "Binary", or "Number", but was: {attribute_type}'
            )
        if len(attribute_type) >= 256:
            raise InvalidParameterValue(
                "Message (user) attribute types must be shorter than 256 Bytes"
            )
        if attribute_type == "String":
            try:
                attribute_value = attribute.get("StringValue")
                if not attribute_value:
                    raise InvalidParameterValue(
                        f"Message (user) attribute '{attribute_name}' must contain a non-empty value of type 'String'."
                    )
                check_message_content(attribute_value)
            except InvalidMessageContents as e:
                # AW
                raise InvalidParameterValue(e.args[0])
def check_fifo_id(fifo_id):