Add transferOwnership() method to the Workspace model that allows the
current owner to transfer ownership to another existing workspace member.
The method:
- Verifies the new owner is an existing member
- Demotes the current owner to admin role
- Promotes the new owner to owner role
- Updates team assignments when teams are in use
- Wraps the role changes in a DB transaction
- Dispatches WorkspaceOwnershipTransferred event
- Throws WorkspaceOwnershipException for auth/validation failures
New files:
- Events/WorkspaceOwnershipTransferred.php
- Exceptions/WorkspaceOwnershipException.php
- tests/Feature/WorkspaceOwnershipTransferTest.php
Fixes#35
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>