Introduce struct cgit_context

This struct will hold all the cgit runtime information currently found in
a multitude of global variables.

The first cleanup removes all querystring-related variables.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
diff --git a/ui-diff.c b/ui-diff.c
index 4fcf852..263a7ba 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -71,13 +71,13 @@
 		}
 		html("<br/>--- a/");
 		if (mode1 != 0)
-			cgit_tree_link(path1, NULL, NULL, cgit_query_head,
+			cgit_tree_link(path1, NULL, NULL, ctx.qry.head,
 				       sha1_to_hex(old_rev_sha1), path1);
 		else
 			html_txt(path1);
 		html("<br/>+++ b/");
 		if (mode2 != 0)
-			cgit_tree_link(path2, NULL, NULL, cgit_query_head,
+			cgit_tree_link(path2, NULL, NULL, ctx.qry.head,
 				       sha1_to_hex(new_rev_sha1), path2);
 		else
 			html_txt(path2);
@@ -107,7 +107,7 @@
 	struct commit *commit, *commit2;
 
 	if (!new_rev)
-		new_rev = cgit_query_head;
+		new_rev = ctx.qry.head;
 	get_sha1(new_rev, new_rev_sha1);
 	type = sha1_object_info(new_rev_sha1, &size);
 	if (type == OBJ_BAD) {