OWIN pass-through support and general owin host improvements

When using Nancy in OWIN, can support pass through if the specified http status codes passed in through a new configuration object occur.

```csharp
builder.UseNancy(options =>
        {
              options.Bootstrapper = new TestBootstrapper();
              options.PassThroughStatusCodes = new[] {Nancy.HttpStatusCode.NotFound};
        })
        .UseEtc()
````
Includes changes to support this in NancyOwinHost and some other changes in INancyEngine & NancyEngine to support Tasks. See commits and comments for more info.