MINOR: connection: add conn_new() / conn_free()

conn_new() will be a more convenient way of allocating and initializing
a connection. It calls pool_alloc2() and conn_init() upon success.

conn_free() is just a pool_free2() but is provided for symmetry with
conn_new().
diff --git a/include/proto/connection.h b/include/proto/connection.h
index a552a04..21d57c9 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -443,6 +443,27 @@
 	conn->target = NULL;
 }
 
+/* Tries to allocate a new connection and initialized its main fields. The
+ * connection is returned on success, NULL on failure. The connection must
+ * be released using pool_free2() or conn_free().
+ */
+static inline struct connection *conn_new()
+{
+	struct connection *conn;
+
+	conn = pool_alloc2(pool2_connection);
+	if (likely(conn != NULL))
+		conn_init(conn);
+	return conn;
+}
+
+/* Releases a connection previously allocated by conn_new() */
+static inline void conn_free(struct connection *conn)
+{
+	pool_free2(pool2_connection, conn);
+}
+
+
 /* Retrieves the connection's source address */
 static inline void conn_get_from_addr(struct connection *conn)
 {