Join a group from a Welcome message

To join a group from a Welcome message, a new MlsGroup can be instantiated directly from the Welcome message and an MlsGroupJoinConfig (see Group configuration for more details). If the group configuration does not use the ratchet tree extension, the ratchet tree needs to be provided.

    let mut bob_group = MlsGroup::new_from_welcome(
        provider,
        &mls_group_config,
        welcome.into_welcome().expect("Unexpected message type."),
        None, // We use the ratchet tree extension, so we don't provide a ratchet tree here
    )
    .expect("Error joining group from Welcome");

Pay attention not to forward a Welcome message to a client before its associated commit has been accepted by the Delivery Service. Otherwise, you would end up with an invalid MLS group instance.