MINOR peers: data structure simplifications for server names dictionary cache.

We store pointers to server names dictionary entries in a pre-allocated array of
ebpt_node's (->entries member of struct dcache_tx) to cache those sent to remote
peers. Consequently the ID used to identify the server name dictionary entry is
also used as index for this array. There is no need to implement a lookup by key
for this dictionary cache.
diff --git a/include/types/peers.h b/include/types/peers.h
index 8a7a4de..1b260e4 100644
--- a/include/types/peers.h
+++ b/include/types/peers.h
@@ -100,12 +100,10 @@
 struct dcache_tx {
 	/* The last recently used key */
 	unsigned int lru_key;
-	/* The maximum number of entries in this cache */
-	size_t max_entries;
-	/* ebtree for keys (eb32_nodes from 0 included up to <max_entries> excluded) */
-	struct eb_root keys;
-	/* ebtree for values (ebpt_node, pointers to dict struct entries) */
-	struct eb_root values;
+	/* An array of entries to store pointers to dictionary entries. */
+	struct ebpt_node *entries;
+	/* ebtree to store the previous entries. */
+	struct eb_root cached_entries;
 };
 
 struct dcache_rx {
@@ -114,8 +112,8 @@
 };
 
 struct dcache_tx_entry {
-	struct eb32_node key;
-	struct ebpt_node value;
+	unsigned int id;
+	struct ebpt_node entry;
 };
 
 /* stick-table data type cache */