### Is there an existing issue for this?

- [X] I have searched the existing issues

### Enhancement description

Based on [customer request](https://localstack-community.slack.com/archives/C0598EHPT1N).
Implement operation `scan` and `query` for global tables in DynamoDB service.

Test sample:

```shell
# Create a table
awslocal dynamodb create-table --table-name global01 --key-schema AttributeName=id,KeyType=HASH --attribute-definitions AttributeName=id,AttributeType=S --billing-mode PAY_PER_REQUEST --region ap-south-1

#Create replicas
awslocal dynamodb update-table --table-name global01  --replica-updates '[{"Create": {"RegionName": "eu-central-1"}}, {"Create": {"RegionName": "us-west-1"}}]'  --region ap-south-1


# Table can be operated on in all replicated regions
awslocal dynamodb list-tables --region eu-central-1

awslocal dynamodb put-item --table-name global01 --item '{"id":{"S":"foo"}}' --region eu-central-1
awslocal dynamodb describe-table --table-name global01 --query 'Table.ItemCount' --region ap-south-1

# Get all replicas
awslocal dynamodb describe-table --table-name global01 --query 'Table.Replicas' --region us-west-1


# Query in all regions
awslocal dynamodb query --table-name global01 --key-condition-expression 'id = :id' --expression-attribute-values '{":id":{"S":"foo"}}' --region ap-south-1
awslocal dynamodb query --table-name global01 --key-condition-expression 'id = :id' --expression-attribute-values '{":id":{"S":"foo"}}' --region eu-central-1
awslocal dynamodb query --table-name global01 --key-condition-expression 'id = :id' --expression-attribute-values '{":id":{"S":"foo"}}' --region us-west-1
```


### 🧑‍💻 Implementation

_No response_

### Anything else?

_No response_
"""
        Raise ResourceNotFoundException if the given table does not exist.
        :param account_id: account id
        :param region_name: region name
        :param table_name: table name
        :raise: ResourceNotFoundException if table does not exist in DynamoDB Local
        """
        if not DynamoDBProvider.table_exists(account_id, region_name, table_name):
            raise ResourceNotFoundException("Cannot do operations on a non-existent table")
    @staticmethod
    def get_global_table_region(context: RequestContext, table_name: str) -> str:
        """
        Return the table region considering that it might be a replicated table.
        Replication in LocalStack works by keeping a single copy of a table and forwarding
        requests to the region where this table exists.
        This method does not check whether the table actually exists in DDBLocal.
        :param context: request context
        :param table_name: table name
        :return: region
        """
        store = get_store(context.account_id, context.region)
        table_region = store.TABLE_REGION.get(table_name)
        replicated_at = store.REPLICAS.get(table_name, {}).keys()
        if context.region == table_region or context.region in replicated_at:
            return table_region
        return context.region
    @staticmethod
    def prepare_request_headers(headers: Dict, account_id: str, region_name: str):