Replaces hardcoded RosterType.MAJOR_LEAGUE for from_roster and to_roster
with detection based on player.team.roster_type() and dest_team.roster_type().
If player.team is not populated (search endpoint returns team_id only),
fetches full team via team_service.get_team() to obtain roster type.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>