Fix `prepare`

The parsing algorithm was broken and prepare couldn't recognize RPC
nodes. The mistake probably happened when I added Action support, but
with no tests. Tests are now included.

Change-Id: I1b4eb2eb76a30c4495e2aacbb6848f449eba3abb
diff --git a/src/ast_commands.cpp b/src/ast_commands.cpp
index 425249e..5b99c6a 100644
--- a/src/ast_commands.cpp
+++ b/src/ast_commands.cpp
@@ -46,3 +46,8 @@
 {
     return this->m_format == other.m_format;
 }
+
+bool prepare_::operator==(const prepare_& other) const
+{
+    return this->m_path == other.m_path;
+}