MINOR: backend: replace the lbprm lock with an rwlock

It was previously a spinlock, and it happens that a number of LB algos
only lock it for lookups, without performing any modification. Let's
first turn it to an rwlock and w-lock it everywhere. This is strictly
identical.

It was carefully checked that every HA_SPIN_LOCK() was turned to
HA_RWLOCK_WRLOCK() and that HA_SPIN_UNLOCK() was turned to
HA_RWLOCK_WRUNLOCK() on this lock. _INIT and _DESTROY were updated too.
diff --git a/src/haproxy.c b/src/haproxy.c
index 83e57ce..389abb8 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2685,7 +2685,7 @@
 
 		p0 = p;
 		p = p->next;
-		HA_SPIN_DESTROY(&p0->lbprm.lock);
+		HA_RWLOCK_DESTROY(&p0->lbprm.lock);
 		HA_SPIN_DESTROY(&p0->lock);
 		free(p0);
 	}/* end while(p) */