Support to create instances of interface for Saga testing, fixes #2249

With the removal of `bus.CreateInstance()` it is no longer possible to create an interface instance in the Saga testing framework.

This PR addresses that issue by adding a new method (`WhenHandling`) that allows the user to test interface message types.

An example on how to use the new API:
```c#
[Test]
public void SagaThatIsStartedWithInterface()
{
    Test.Saga<MySagaWithInterface>()
        .ExpectSend<Command>()
        .WhenHandling<StartsSagaWithInterface>(m => m.Name = "John");
}

public class MySagaWithInterface : Saga<MySagaWithInterface.MySagaDataWithInterface>,
    IAmStartedByMessages<StartsSagaWithInterface>
{
    public class MySagaDataWithInterface : ContainSagaData
    {
            
    }

    protected override void ConfigureHowToFindSaga(SagaPropertyMapper<MySagaDataWithInterface> mapper)
    {
    }

    public void Handle(StartsSagaWithInterface message)
    {
        if (message.Name == "John")
        {
            Bus.Send<SayHello>(null);
        }
    }
}

public interface StartsSagaWithInterface: IEvent
{
    string Name { get; set; }
}

public class SayHello : ICommand
{
}
```