Add nested AggregateException support for ShouldThrow

Suggested fix for Issue #19. AggregateException.InnerExceptions does not express the hierarchy. ShouldThrow<SqlException> with a hierarchy of AggregateException -> AggregateException -> AggregateException -> AggregateException -> SqlException does not find the SqlException because InnerExceptions will only contain the first child AggregateException.