Storage records can be created with duplicate ACLs

Today, we can create records with duplicate acls viewers/owners

e.g.

"acl": {
            "viewers": [
                "data.default.viewers@{{data-partition-id}}.{{domain}}",
                "data.default.viewers@{{data-partition-id}}.{{domain}}"
            ],
            "owners": [
                "data.default.owners@{{data-partition-id}}.{{domain}}",
                "data.default.owners@{{data-partition-id}}.{{domain}}"
            ]
        }

Performing a getRecord for the same record will return duplicate values.

This does not happen to legaltags because it is declared as a Set, while acls are arrays. Making acls a Set can be a breaking change but we can put validation to check for duplicates.