bootstrap/table: fix hard to hit infinite loop in hash table
bootstrap/table: fix hard to hit infinite loop in hash table

With open addressing, the lookup for a given key ends when:
	(i) no entry is found at the computed index (no match).
	(iii) an entry is found, with the same hash and full key
	(match).

If the table is full, and we are looking for an entry that is not in the
table, this doesn't terminate.

To guarantee that the lookup terminates and fails in such a case, we
could track how many entries the open addressing scheme has pointed us
to, and stop when we have made table.size attempts. Or we can ensure
that there is always at least one empty spot in the table, this is what
the code assumed but got wrong in one case.

The bug was somewhat hard to hit (and never was): a hash table of at
least 64 elements, with the element count a power of 2, copied to
another table. Indeed,_copy() was using _init(new, _count(old)), we now
use _init(new, old->table.size - 1)).

nanocritical/n,nanocritical/n,nanocritical/n,nanocritical/n