<!-- 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
```
self.cleanup(stack_name)
    def test_sub_in_lambda_function_name(self):
        stack_name = 'stack-%s' % short_uid()
        environment = 'env-%s' % short_uid()
        bucket = 'bucket-%s' % short_uid()
        key = 'key-%s' % short_uid()
        package_path = os.path.join(THIS_FOLDER, 'lambdas', 'lambda_echo.js')
        s3 = aws_stack.connect_to_service('s3')
        s3.create_bucket(Bucket=bucket, ACL='public-read')
        s3.put_object(Bucket=bucket, Key=key, Body=create_zip_file(package_path, get_content=True))
        time.sleep(1)
        template = load_file(TEST_TEMPLATE_24) % (bucket, key, bucket, key)
        create_and_await_stack(
            StackName=stack_name,
            TemplateBody=template,
            Parameters=[{
                'ParameterKey': 'Environment',
                'ParameterValue': environment
            }]
        )
        lambda_client = aws_stack.connect_to_service('lambda')
        functions = lambda_client.list_functions()['Functions']
        
        func_prefix = 'test-{}-connectionHandler'.format(environment)
        functions = [func for func in functions if func['FunctionName'].startswith(func_prefix)]
        self.assertEqual(len(functions), 2)
        func1 = [f for f in functions if f['FunctionName'].endswith('connectionHandler1')][0]
        func2 = [f for f in functions if f['FunctionName'].endswith('connectionHandler2')][0]
        self.assertTrue(func1['FunctionArn'].endswith(func1['FunctionName']))
        self.assertTrue(func2['FunctionArn'].endswith(func2['FunctionName']))