`Invoke(...)` extension method for async await (named `Awaiting(..)`)

Re-Post of #143 on develop branch. I hope i've got it right this time!

usage:

    foo
         .Awaiting(async x => await x.DoSomething())
         .ShouldThrow<InvalidOperationException>();