Hi

I have issues creating sns subscriptions through Cloudformation. If I attempt to include a `AWS::SNS::Subscription` resource in a Cloudformation template and run `create-stack` then I get a 500 Internal Server error. The full template:

```
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Test'
Resources:
  MySnsTopic:
    Type: AWS::SNS::Topic
    Properties:
      TopicName: MySnsTopic
  MySnsTopicSubscription:
    Type: AWS::SNS::Subscription
    Properties:
      Protocol: sqs
      TopicArn: !Ref MySnsTopic
      Endpoint: !GetAtt
        - MySqsQueue
        - QueueArn
  MySqsQueue:
    Type: AWS::SQS::Queue
    Properties:
      QueueName: MySqsQueue
```

If I replace the references with hard-coded arns like this:

```
TopicArn: arn:aws:sns:eu-west-2:123456789012:MySnsTopic
Endpoint: arn:aws:sqs:elasticmq:000000000000:MySqsQueue
```

Then I get no errors but I get a warning:

`No moto Cloudformation support for AWS::SNS::Subscription`.

I can get around this issue by creating the subscription when creating the topic but the issue there is that I cannot add any attributes and in my case I need `RawMessageDelivery` set to true. So my questions are:

1. Is there no support to create `AWS::SNS::Subscription` resources through Cloudformation or am I doing something wrong?
2. If support is not there can I request it as a new feature?
3. Any suggestions on how I can work around this? I know I could do this through a script at startup but would like to not have any additional script steps other than deploying the Cloudformation stack.

<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->
main_file = new_tmp_file()
            save_file(main_file, zip_file_content)
    if is_jar_archive(zip_file_content):
        def execute(event, context):
            result, log_output = lambda_executors.EXECUTOR_LOCAL.execute_java_lambda(
                event, context, handler=handler, main_file=main_file)
            return result
        return execute, zip_file_content
    raise ClientError(error_response(
        'Unable to extract Java Lambda handler - file is not a valid zip/jar file', 400, error_type='ValidationError'))
def set_archive_code(code, lambda_name, zip_file_content=None):
    
    lambda_arn = func_arn(lambda_name)
    lambda_details = arn_to_lambda[lambda_arn]
    is_local_mount = code.get('S3Bucket') == BUCKET_MARKER_LOCAL
    
    LAMBDA_EXECUTOR.cleanup(lambda_arn)
    if is_local_mount:
        
        
        
        
        return code['S3Key']
    
    zip_file_content = zip_file_content or get_zip_bytes(code)
    
    code_sha_256 = base64.standard_b64encode(hashlib.sha256(zip_file_content).digest())
    lambda_details.get_version('$LATEST')['CodeSize'] = len(zip_file_content)
    lambda_details.get_version('$LATEST')['CodeSha256'] = code_sha_256.decode('utf-8')
    tmp_dir = '%s/zipfile.%s' % (config.TMP_FOLDER, short_uid())