MINOR: http: try to stick to same server after status 401/407

In HTTP keep-alive mode, if we receive a 401, we still have a chance
of being able to send the visitor again to the same server over the
same connection. This is required by some broken protocols such as
NTLM, and anyway whenever there is an opportunity for sending the
challenge to the proper place, it's better to do it (at least it
helps with debugging).
diff --git a/src/backend.c b/src/backend.c
index a80b6b4..8fcce7d 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -534,7 +534,8 @@
 	s->target = NULL;
 	conn = objt_conn(s->req->cons->end);
 
-	if (conn && (s->be->options & PR_O_PREF_LAST) &&
+	if (conn &&
+	    ((s->be->options & PR_O_PREF_LAST) || (s->txn.flags & TX_PREFER_LAST)) &&
 	    objt_server(conn->target) && __objt_server(conn->target)->proxy == s->be &&
 	    srv_is_usable(__objt_server(conn->target)->state, __objt_server(conn->target)->eweight)) {
 		/* This session was relying on a server in a previous request