rem: return i;
add: return iterator;
context: hash_open(void *_hash_table, struct hash_iterator *i){	struct hash_table *t = (struct hash_table *)_hash_table;	if (i == NULL) {		i = (struct hash_iterator *)malloc(sizeof(struct hash_iterator));		if (i == NULL)			return NULL;	}	hash_rewind(t, i);	return i;}