ensure not accessing the table->size without locking the table

there is an edge case in which it might be grown because of a concurrent set operation
while an iterator is in progress
simplified the ht_set() api ... extended with a new ht_get_and_set() function

where pointers for the previous data and size can be provided
forgot to call t_summary() at the end of the test