Signs up a user using a wallet, creating a new sub-organization and session.
This function creates a new wallet authenticator and uses it to register a new sub-organization for the user.
Handles both wallet authentication and sub-organization creation in a single flow.
Optionally accepts additional sub-organization parameters, a custom session key, and a custom session expiration.
Automatically generates additional API key pairs for authentication and session management.
Stores the resulting session token under the specified session key, or the default session key if not provided, and manages cleanup of unused key pairs.