### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

CopyObject API does not check precondition headers such as `x-amz-copy-source-if-modified-since`. Instead it seems to always copy the object.

### Expected Behavior

The API should return a 412 response with content similar to:

```
<Error><Code>PreconditionFailed</Code><Message>At least one of the pre-conditions you specified did not hold</Message><Condition>x-amz-copy-source-If-Modified-Since</Condition><RequestId>14HR9PXJRG5B1GR5</RequestId><HostId>HztBs2jYea1fzzPWo1JWy33NQJqo1S1IsK62rkbnVEI04PnGNCi8sPVrichGQxH3FQwLA2RIyF4=</HostId></Error>
```

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker run localstack/localstack

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

```
aws s3  --profile localstack --endpoint-url http://s3.localhost.localstack.cloud:4566 \
  ls s3://net-amazon-s3-test/Makefile.am
2023-01-25 10:47:40        537 Makefile.am

aws s3api copy-object --copy-source net-amazon-s3-test/Makefile.am --key Makefile.am.2 \
  --bucket net-amazon-s3-test2 --profile localstack --endpoint-url http://s3.localhost.localstack.cloud:4566 \
  --copy-source-if-modified-since "Wed, 25 Jan 2023 16:16:27 GMT"
{
    "CopyObjectResult": {
        "ETag": "\"46ada9d1fe8f8a311ff4504c226e061c\"",
        "LastModified": "2023-01-25T16:18:43+00:00"
    }
}
```

### Environment

```markdown
- OS: penguin
- LocalStack: latest
```


### Anything else?

_No response_
InvalidTargetBucketForLogging,
    ListBucketAnalyticsConfigurationsOutput,
    ListBucketIntelligentTieringConfigurationsOutput,
    ListMultipartUploadsOutput,
    ListMultipartUploadsRequest,
    ListObjectsOutput,
    ListObjectsRequest,
    ListObjectsV2Output,
    ListObjectsV2Request,
    MissingSecurityHeader,
    MultipartUpload,
    NoSuchBucket,
    NoSuchCORSConfiguration,
    NoSuchKey,
    NoSuchLifecycleConfiguration,
    NoSuchUpload,
    NoSuchWebsiteConfiguration,
    NotificationConfiguration,
    ObjectIdentifier,
    ObjectKey,
    ObjectLockToken,
    ObjectVersionId,
    PostResponse,
    PutBucketAclRequest,
    PutBucketLifecycleConfigurationRequest,
    PutBucketLifecycleRequest,
    PutBucketRequestPaymentRequest,
    PutBucketVersioningRequest,
    PutObjectAclOutput,
    PutObjectAclRequest,