Add command dispatcher

This simplifies the code in cgit.c and makes it easier to extend cgit with
new pages/commands.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
diff --git a/parsing.c b/parsing.c
index 027f06b..8dce488 100644
--- a/parsing.c
+++ b/parsing.c
@@ -170,8 +170,8 @@
 			if (p[1])
 				ctx.qry.path = trim_end(p + 1, '/');
 		}
-		cgit_cmd = cgit_get_cmd_index(cmd + 1);
-		ctx.qry.page = xstrdup(cmd + 1);
+		if (cmd[1])
+			ctx.qry.page = xstrdup(cmd + 1);
 		return;
 	}
 }