BUG/MEDIUM: backend: Update hash to use unsigned int throughout

When we were generating a hash, it was done using an unsigned long.  When the hash was used
to select a backend, it was sent as an unsigned int.  This made it difficult to predict which
backend would be selected.

This patch updates get_hash, and the hash methods to use an unsigned int, to remain consistent
throughout the codebase.

This fix should be backported to 1.5 and probably in part to 1.4.
diff --git a/src/backend.c b/src/backend.c
index 5ddb88c..a96b767 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -63,9 +63,9 @@
 }
 
 /* helper function to invoke the correct hash method */
-static unsigned long gen_hash(const struct proxy* px, const char* key, unsigned long len)
+static unsigned int gen_hash(const struct proxy* px, const char* key, unsigned long len)
 {
-	unsigned long hash;
+	unsigned int hash;
 
 	switch (px->lbprm.algo & BE_LB_HASH_FUNC) {
 	case BE_LB_HFCN_DJB2:
@@ -183,7 +183,7 @@
  */
 struct server *get_server_uh(struct proxy *px, char *uri, int uri_len)
 {
-	unsigned long hash = 0;
+	unsigned int hash = 0;
 	int c;
 	int slashes = 0;
 	const char *start, *end;
@@ -232,7 +232,7 @@
  */
 struct server *get_server_ph(struct proxy *px, const char *uri, int uri_len)
 {
-	unsigned long hash = 0;
+	unsigned int hash = 0;
 	const char *start, *end;
 	const char *p;
 	const char *params;
@@ -294,7 +294,7 @@
  */
 struct server *get_server_ph_post(struct session *s)
 {
-	unsigned long    hash = 0;
+	unsigned int hash = 0;
 	struct http_txn *txn  = &s->txn;
 	struct channel   *req = s->req;
 	struct http_msg *msg  = &txn->req;
@@ -372,7 +372,7 @@
  */
 struct server *get_server_hh(struct session *s)
 {
-	unsigned long    hash = 0;
+	unsigned int hash = 0;
 	struct http_txn *txn  = &s->txn;
 	struct proxy    *px   = s->be;
 	unsigned int     plen = px->hh_len;
@@ -444,7 +444,7 @@
 /* RDP Cookie HASH.  */
 struct server *get_server_rch(struct session *s)
 {
-	unsigned long    hash = 0;
+	unsigned int hash = 0;
 	struct proxy    *px   = s->be;
 	unsigned long    len;
 	int              ret;