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

# Type of request: This is a ...

[x] bug report
[ ] feature request

# Detailed description
When I call the Lambda PutFunctionEventInvokeConfig API using the aws-java-sdk, the sdk throws an exception claiming it cannot parse the LastModified timestamp in the response:
```
software.amazon.awssdk.core.exception.SdkClientException: Unable to parse date : 2021-05-28T16:02:30.018Z
        at software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:98)
        at software.amazon.awssdk.protocols.core.StringToInstant.lambda$safeParseDate$0(StringToInstant.java:77)
        at software.amazon.awssdk.protocols.core.StringToInstant.convert(StringToInstant.java:54)
        at software.amazon.awssdk.protocols.core.StringToInstant.convert(StringToInstant.java:32)
```

For comparison, the response for a getting a FunctionEventInvokeConfig for a Lambda of a real AWS account using the aws-cli is the following:
```
{
    "LastModified": "2021-05-27T19:26:43.454000-07:00",
    "FunctionArn": "...",
    ...
}
```

## Expected behavior
LambdaAsyncClient in aws-java-sdk should correctly parse the response for a PutFunctionEventInvokeConfig request.

## Actual behavior
LambdaAsyncClient in aws-java-sdk throws an exception when parsing the LastModified field in the response.

# Steps to reproduce

## Command used to start LocalStack
```
docker run -d --rm --name localstack -p 4566:4566 localstack/localstack:latest
```

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)
```
val putEventInvokeConfigRequest =
  PutFunctionEventInvokeConfigRequest.builder
    .functionName(functionName)
    .maximumEventAgeInSeconds(21600)
    .maximumRetryAttempts(0)
    .build
lambdaClient.putFunctionEventInvokeConfig(putEventInvokeConfigRequest)
```


data = json.loads(data)
        except Exception:
            try:
                
                data = json.loads(parse_chunked_data(data))
            except Exception:
                return error_response('The payload is not JSON: %s' % data, 415,
                                      error_type='UnsupportedMediaTypeException')
    
    invocation_type = request.headers.get('X-Amz-Invocation-Type', 'RequestResponse')
    log_type = request.headers.get('X-Amz-Log-Type')
    def _create_response(invocation_result, status_code=200, headers={}):
        """ Create the final response for the given invocation result. """
        if not isinstance(invocation_result, lambda_executors.InvocationResult):
            invocation_result = lambda_executors.InvocationResult(invocation_result)
        result = invocation_result.result
        log_output = invocation_result.log_output
        details = {
            'StatusCode': status_code,
            'Payload': result,
            'Headers': headers
        }
        if isinstance(result, Response):
            details['Payload'] = to_str(result.data)
            if result.status_code >= 400:
                details['FunctionError'] = 'Unhandled'
        if isinstance(result, (str, bytes)):
            try:
                result = json.loads(to_str(result))
            except Exception: