add ThrowableAssert.hasCause, fix author and date