BUG/MEDIUM: peers: some table updates are randomly not pushed.

If an entry is still not present in the update tree, we could miss to schedule
for a push depending of an un-initialized value (upd.key remains un-initialized
for new sessions or isn't re-initalized for reused ones).

In the same way, if an entry is present in the tree, but its update's tick
is far in the past (> 2^31). We could consider it's still scheduled even if
it is not the case.

The fix consist to force the re-scheduling of an update if it was not present in
the updates tree or if the update is not in the scheduling window of every peers.
diff --git a/src/stick_table.c b/src/stick_table.c
index a51bde3..c3b76ad 100644
--- a/src/stick_table.c
+++ b/src/stick_table.c
@@ -255,9 +255,11 @@
 
 	/* If sync is enabled and update is local */
 	if (t->sync_task && local) {
-		/* If this entry was already pushed to a peer
-		   We want to push it again */
-		if ((int)(ts->upd.key - t->commitupdate) <= 0) {
+		/* If this entry is not in the tree
+		   or not scheduled for at least one peer */
+		if (!ts->upd.node.leaf_p
+		    || (int)(t->commitupdate - ts->upd.key) >= 0
+		    || (int)(ts->upd.key - t->localupdate) >= 0) {
 			ts->upd.key = ++t->update;
 			t->localupdate = t->update;
 			eb32_delete(&ts->upd);