### 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_
)
            return UpdateTableOutput(TableDescription=schema["Table"])
        
        if update_table_input.get("StreamSpecification"):
            create_dynamodb_stream(
                context.account_id,
                context.region,
                update_table_input,
                result["TableDescription"].get("LatestStreamLabel"),
            )
        return result
    def list_tables(
        self,
        context: RequestContext,
        exclusive_start_table_name: TableName = None,
        limit: ListTablesInputLimit = None,
    ) -> ListTablesOutput:
        response = self.forward_request(context)
        
        replicas = get_store(context.account_id, context.region).REPLICAS
        for replicated_table, replications in replicas.items():
            for replica_region, replica_description in replications.items():
                if context.region == replica_region:
                    response["TableNames"].append(replicated_table)
        return response
    #
    
    #
    @handler("PutItem", expand=False)
    def put_item(self, context: RequestContext, put_item_input: PutItemInput) -> PutItemOutput: