Particular/NServiceBus — pull request #2302 by johnsimons (2014-08-13 00:43:13+00:00)
Title: 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()
.ExpectSend()
.WhenHandling(m => m.Name = "John");
}

public class MySagaWithInterface : Saga,
IAmStartedByMessages
{
public class MySagaDataWithInterface : ContainSagaData
{

}

protected override void ConfigureHowToFindSaga(SagaPropertyMapper mapper)
{
}

public void Handle(StartsSagaWithInterface message)
{
if (message.Name == "John")
{
Bus.Send(null);
}
}
}

public interface StartsSagaWithInterface: IEvent
{
string Name { get; set; }
}

public class SayHello : ICommand
{
}
```