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/cache.c b/cache.c
index 372e38d..b162952 100644
--- a/cache.c
+++ b/cache.c
@@ -57,10 +57,10 @@
 	if (mkdir(path, S_IRWXU) && errno!=EEXIST)
 		return 0;
 
-	if (cgit_query_page) {
+	if (ctx.qry.page) {
 		path = fmt("%s/%s/%s", cgit_cache_root,
 			   cache_safe_filename(cgit_repo->url),
-			   cgit_query_page);
+			   ctx.qry.page);
 		if (mkdir(path, S_IRWXU) && errno!=EEXIST)
 			return 0;
 	}