fchash: Fix replace

When we replace a bucket in the hashtable we have to update the
next pointer too, or we lose all the other elements that hashed to
this key.
diff --git a/src/fchash.c b/src/fchash.c
index 5c1a281..ba6a453 100644
--- a/src/fchash.c
+++ b/src/fchash.c
@@ -182,6 +182,7 @@
 	{
 	    if (replace)
 	    {
+		bucket->next = b->next;
 		if (!fc_atomic_ptr_cmpexch (prev, b, bucket))
 		    goto retry;
 		bucket = b;
@@ -191,6 +192,7 @@
 	    goto destroy;
 	}
     }
+    bucket->next = NULL;
     if (!fc_atomic_ptr_cmpexch (prev, b, bucket))
 	goto retry;