rcu_hashtable: fix bad erase()

erase() first shrinks the hash table if needed, then erases the element
given by the iterator.  However, as elements are copied during shrinking
(to satisfy rcu), we erase the element in the *old* table, rather than
the new (shrunk) one.  The effect is that the element is not removed.

Found using wrk vs. tomcat, with the net channel rcu hashtable patch
applied.

Reviewed-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
Revert "Revert "net: use rcu_hashtable in net channel classifier""

This reverts commit 181d26253d5e, which itself reverted 181d26253d.

With the rcu hashtable fixed (16ab9520eb), we can use rcu_hashtable in the
net channel classifier again.

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>