Refactor ListInstance to a header file

This typedef is useful for the upcoming `move` command, so I want to
reuse it. It made no sense to put it in ast_values.hpp, so I just made a
new header.

Change-Id: Ia1ad07b8ac393a3f1aeffcdd4e19776390a00907
diff --git a/src/ast_path.hpp b/src/ast_path.hpp
index cb84e80..2d809bc 100644
--- a/src/ast_path.hpp
+++ b/src/ast_path.hpp
@@ -15,6 +15,7 @@
 #include <vector>
 
 #include "ast_values.hpp"
+#include "list_instance.hpp"
 
 enum class Prefixes {
     Always,
@@ -69,7 +70,7 @@
     bool operator==(const listElement_& b) const;
 
     std::string m_name;
-    std::map<std::string, leaf_data_> m_keys;
+    ListInstance m_keys;
 };
 
 struct list_ {