**Description**

Add the missing AWS Operators for the three (get/put/delete) AWS S3 bucket tagging APIs, including testing.

**Use case / motivation**

I am looking to add an Operator that will implement the existing API functionality to manage the tags on an AWS S3 bucket.

**Are you willing to submit a PR?**

Yes

**Related Issues**

None that I saw

tests/providers/amazon/aws/hooks/test_s3.py
hook = S3Hook()
        with pytest.raises(AirflowException) as ctx:
            hook.delete_objects(bucket=s3_bucket, keys=['key-1'])
        assert isinstance(ctx.value, AirflowException)
        assert str(ctx.value) == "Errors when deleting: ['key-1']"
    def test_delete_objects_one_key(self, mocked_s3_res, s3_bucket):
        key = 'key-1'
        mocked_s3_res.Object(s3_bucket, key).put(Body=b'Data')
        hook = S3Hook()
        hook.delete_objects(bucket=s3_bucket, keys=[key])
        assert [o.key for o in mocked_s3_res.Bucket(s3_bucket).objects.all()] == []
    def test_delete_objects_many_keys(self, mocked_s3_res, s3_bucket):
        num_keys_to_remove = 1001
        keys = []
        for index in range(num_keys_to_remove):
            key = f'key-{index}'
            mocked_s3_res.Object(s3_bucket, key).put(Body=b'Data')
            keys.append(key)
        assert sum(1 for _ in mocked_s3_res.Bucket(s3_bucket).objects.all()) == num_keys_to_remove
        hook = S3Hook()
        hook.delete_objects(bucket=s3_bucket, keys=keys)
        assert [o.key for o in mocked_s3_res.Bucket(s3_bucket).objects.all()] == []
    def test_unify_bucket_name_and_key(self):
        class FakeS3Hook(S3Hook):
            @unify_bucket_name_and_key
            def test_function_with_wildcard_key(self, wildcard_key, bucket_name=None):