Add fetch.c/fetch.h, a module for fetching function arguments

- this is now a thin wrapper over gimme_arg, ideally the backends will
  eventually use this right interface

- in display_args.c, strip one layer of pointer wrapping, which is now
  done in output.c
diff --git a/proc.h b/proc.h
index f62f5f9..f530e5d 100644
--- a/proc.h
+++ b/proc.h
@@ -64,6 +64,11 @@
 	STATE_IGNORED  /* ignore this process (it's a fork and no -f was used) */
 };
 
+struct output_state {
+	size_t params_left;
+	int need_delim;
+};
+
 struct callstack_element {
 	union {
 		int syscall;
@@ -72,7 +77,9 @@
 	int is_syscall;
 	void * return_addr;
 	struct timeval time_spent;
+	struct fetch_context *fetch_context;
 	struct value_dict *arguments;
+	struct output_state out;
 };
 
 /* XXX We should get rid of this.  */