Key-value nodes for exception table. The chained hash table uses identity comparisons, full locking, and weak references for keys. The table has a fixed capacity because it only maintains task exceptions long enough for joiners to access them, so should never become very large for sustained periods. However, since we do not know when the last joiner completes, we must use weak references and expunge them. We do so on each operation (hence full locking). Also, some thread in any ForkJoinPool will call helpExpungeStaleExceptions when its pool becomes isQuiescent.