<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...

[ ] bug report
[x] feature request

# Detailed description

Currently, the KinesisStreamSpecification parameter of AWS::DynamoDB::Table resource in CloudFormation is not supported and will be ignored even if this parameter is set.
We would like to be able to use this parameter.

## Expected behavior

When the following template is applied...

```yaml
---
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  EventStream:
    Type: AWS::Kinesis::Stream
    Properties:
      Name: EventStream
      ShardCount: 1
  EventTable:
    Type: AWS::DynamoDB::Table
    Properties:
      TableName: EventTable
      AttributeDefinitions:
      - AttributeName: pkey
        AttributeType: S
      KeySchema:
      - AttributeName: pkey
        KeyType: HASH
      BillingMode: PAY_PER_REQUEST
      StreamSpecification:
        StreamViewType: NEW_IMAGE
      KinesisStreamSpecification:
        StreamArn: !GetAtt EventStream.Arn

```

We will get the following results as when we run enable-kinesis-streaming-destination.

```sh
$ awslocal dynamodb describe-kinesis-streaming-destination --table-name EventTable
{
    "TableName": "EventTable",
    "KinesisDataStreamDestinations": [
        {
            "StreamArn": "arn:aws:kinesis:us-east-1:000000000000:stream/EventStream",
            "DestinationStatus": "ACTIVE"
        }
    ]
}
```

## Actual behavior

The KinesisStreamSpecification parameter will be ignored even if this parameter is set.

```sh
$ awslocal dynamodb describe-kinesis-streaming-destination --table-name EventTable
{
    "TableName": "EventTable",
    "KinesisDataStreamDestinations": []
}
```

# Steps to reproduce

## Command used to start LocalStack

```
$ docker run --rm -p 4566:4566 localstack/localstack:0.12.11
```

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

CloudFormation templates to apply.

```yaml
---
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  EventStream:
    Type: AWS::Kinesis::Stream
    Properties:
      Name: EventStream
      ShardCount: 1
  EventTable:
    Type: AWS::DynamoDB::Table
    Properties:
      TableName: EventTable
      AttributeDefinitions:
      - AttributeName: pkey
        AttributeType: S
      KeySchema:
      - AttributeName: pkey
        KeyType: HASH
      BillingMode: PAY_PER_REQUEST
      StreamSpecification:
        StreamViewType: NEW_IMAGE
      KinesisStreamSpecification:
        StreamArn: !GetAtt EventStream.Arn

```

Check the results.

```sh
awslocal dynamodb describe-kinesis-streaming-destination --table-name EventTable
```

Manually enable kinesis streaming.

```sh
awslocal dynamodb enable-kinesis-streaming-destination --table-name EventTable --stream-arn arn:aws:kinesis:us-east-1:000000000000:stream/EventStream
```
try:
                    if is_add_or_modify:
                        resource = new_resources[resource_id]
                        should_deploy = self.prepare_should_deploy_change(
                            resource_id, change, stack, new_resources)
                        LOG.debug('Handling "%s" for resource "%s" (%s/%s) type "%s" in loop iteration %s' % (
                            action, resource_id, j + 1, len(changes), res_change['ResourceType'], i + 1))
                        if not should_deploy:
                            del changes[j]
                            continue
                        if not self.all_resource_dependencies_satisfied(resource):
                            j += 1
                            continue
                    self.apply_change(change, stack, new_resources, stack_name=stack_name)
                    changes_done.append(change)
                    del changes[j]
                    updated = True
                except DependencyNotYetSatisfied as e:
                    LOG.debug('Dependencies for "%s" not yet satisfied, retrying in next loop: %s' % (resource_id, e))
                    j += 1
            if not changes:
                break
            if not updated:
                raise Exception('Resource deployment loop completed, pending resource changes: %s' % changes)
        
        deletes = [c for c in changes_done if c['ResourceChange']['Action'] == 'Remove']
        for delete in deletes:
            stack.template['Resources'].pop(delete['ResourceChange']['LogicalResourceId'], None)
        return changes_done
    def prepare_should_deploy_change(self, resource_id, change, stack, new_resources):