<!-- 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

Kinesis does not populate/offer to populate all potential values in a record. I have a lambda being triggered by kinesis events. The records being passed in are only those required by AWS, but there are no optional values being used.

## Expected behavior

An event's kinesis object should be configurable to look as follows
```
{ 
    "ApproximateArrivalTimestamp": number,
    "Data": blob,
    "EncryptionType": "string",
    "PartitionKey": "string",
    "SequenceNumber": "string"
}
```

## Actual behavior

In its current state, only required values are present.
```
{ 
    "Data": blob,
    "PartitionKey": "string",
    "SequenceNumber": "string"
}
```

# Steps to reproduce

## Command used to start LocalStack

`docker-compose up` with given `docker-compose.yml`

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

The source of this issue/feature request lies in the kinesis listener. AWS documentation of a kinesis stream record lists all values here: https://docs.aws.amazon.com/kinesis/latest/APIReference/API_Record.html

We are only returning the required values.
https://github.com/localstack/localstack/blob/78031dd65da9394f8b1b020be01ef02c63c433ee/localstack/services/kinesis/kinesis_listener.py#L85-L94

If there is no implicit reason for not offering optional values, I'm more than happy to submit a PR.

'data': record['Data'],
                        'partitionKey': record['PartitionKey'],
                        'sequenceNumber': response_records[index].get('SequenceNumber')
                    }
                    event_records.append(event_record)
                stream_name = data['StreamName']
                lambda_api.process_kinesis_records(event_records, stream_name)
        elif action == ACTION_UPDATE_SHARD_COUNT:
            
            
            
            #
            
            
            #
            
            
            #
            response = Response()
            response.status_code = 200
            content = {
                'CurrentShardCount': 1,
                'StreamName': data['StreamName'],
                'TargetShardCount': data['TargetShardCount']
            }
            response.encoding = 'UTF-8'
            response._content = json.dumps(content)
            return response
UPDATE_KINESIS = ProxyListenerKinesis()
def kinesis_error_response(data, action):