Add support to gitlab_project_deploy_token for cross-resource state move actions
This code change adds support for migrating from an old GitLab deploy token resource to a new project-specific deploy token resource in Terraform.
The main addition is a "state mover" function that automatically transfers configuration and data when users upgrade from the deprecated gitlab_deploy_token to the newer gitlab_project_deploy_token resource. This migration handles the conversion of ID formats (from a three-part to two-part identifier) and ensures only project-level tokens can be moved (not group-level ones).
The code includes safety checks to validate the source resource type, provider address, and schema version before performing the migration. It also preserves important token data like the actual token value, expiration date, and permissions during the transfer.
A comprehensive test was added to verify this migration works correctly, requiring Terraform version 1.8 or later since cross-resource migrations are a newer feature. The test creates a token with the old resource, moves it to the new resource using Terraform's moved block, and confirms everything still works properly after the migration.
This change helps users smoothly transition to the newer, more specific resource without losing their existing deploy token configurations.
Relates to #6717