We should preserve the stack trace here

http://weblogs.asp.net/fmarguerie/archive/2008/01/02/rethrowing-exceptions-and-preserving-the-full-call-stack-trace.aspx

Also wondering if we need to timeout wait after timeout.AddSeconds(10) or something? See discussion at https://github.com/shouldly/shouldly/issues/103