rem: int hash_remove(void *_hash_table, void *e)
add: hash_remove(struct hash_table *table, void *_element)
context: int hash_remove(void *_hash_table, void *e){	struct hash_table *t = (struct hash_table *)_hash_table;	void *i, *last_i;	unsigned int hash;	hash = t->hash_func(e, NULL, t->table_size);	last_i = NULL;	for (i = t->table[hash]; i != NULL; last_i = i, i = NEXT(t, i)) {		if (i == e) {			if (last_i != NULL)				PUT_IN_NEXT(t, last_i, NEXT(t, i));			else				t->table[hash] = (struct hash_elem *)NEXT(t, i);			t->num_elems--;			return B_NO_ERROR;		}	}	return B_ERROR;}