### Is there an existing issue for this?

- [X] I have searched the existing issues

### Feature description

LocalStack should support Server-Side-Encryption for SQS if possible, or at least pretend it does so that scripts that assume this working against AWS don't break with LocalStack.

Currently terraform for example fails when trying to create an SQS queue with `sqs_managed_sse_enabled     = true` 

### 🧑‍💻 Implementation

It would probably be fine for now to at least simulate this in a basic `CRUD` way for at least the case when using AWS managed keys for the "encryption".


Example terraform:

```hcl
provider "aws" { 
  access_key                  = "test"
  secret_key                  = "test"
  region                      = "us-east-1"
  s3_force_path_style         = true
  skip_credentials_validation = true
  skip_metadata_api_check     = true
  skip_requesting_account_id  = true

  endpoints {
    sqs            = "http://localhost:4566"
    iam            = "http://localhost:4566"
  }
}

resource "aws_sqs_queue" "sqs" {
  name                        = "myq.fifo"
  fifo_queue                  = true
  content_based_deduplication = true
  sqs_managed_sse_enabled     = true
  
  tags = {
    service     = "myq"
  }
}
```

### Anything else?

- https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
- https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
"""
    Regularly re-queues inflight messages whose visibility timeout has expired.
    FIXME: very crude implementation. it would be better to have event-driven communication.
    """
    queues: Dict[QueueKey, SqsQueue]
    def __init__(self, queues: Dict[QueueKey, SqsQueue]) -> None:
        super().__init__()
        self.queues = queues
        self.running = False
        self.thread: Optional[FuncThread] = None
    def start(self):
        if self.thread:
            return
        def _run(*_args):
            self.running = True
            self.run()
        self.thread = start_thread(_run)
    def stop(self):
        if self.thread:
            self.thread.stop()
        self.running = False
        self.thread = None
    def run(self):
        while self.running:
            time.sleep(1)
            for queue in self.queues.values():
                queue.requeue_inflight_messages()
def check_attributes(message_attributes: MessageBodyAttributeMap):