Rewrite dict module to be more in line with vect

It's now a bit more strongly typed, can grow and shrink on demand, and has
a more complete interface.
It uses open addressing scheme to store hashes.
diff --git a/proc.h b/proc.h
index 04c0ef7..2e35319 100644
--- a/proc.h
+++ b/proc.h
@@ -87,10 +87,8 @@
 
 	/* Dictionary of breakpoints (which is a mapping
 	 * address->breakpoint).  This is NULL for non-leader
-	 * processes.  XXX note that we store addresses (keys) by
-	 * value.  That assumes that arch_addr_t fits in host
-	 * pointer.  */
-	Dict * breakpoints;
+	 * processes.  */
+	struct dict *breakpoints;
 
 	int mask_32bit;           /* 1 if 64-bit ltrace is tracing 32-bit process */
 	unsigned int personality;