This diff introduces two new changes to joinThread to support auto join functionality
- We introduce an optional defaultSubscription option where we can define what we want the default subscription of the thread to be when we initially join.
- We introduce a new check to see if the thread the user is trying to join is a root thread that has a farcaster channel tag which means it is "discoverable" and we can bypass the standard threadPermission check
Depends on D12444