Clean includes and usings

These changes are based on suggestions made by the include-what-you-use
tool. Some suggestions were not implemented because they did not
decrease build time (forward-declaring some classes), or because they
would make the include section too complicated (Spirit headers and MPL
headers). On my computer, this change decreases the build time by about
27%:

before
real	1m45.807s
user	5m40.648s
sys	0m18.274s

after
real	1m18.013s
user	3m57.866s
sys	0m12.946s

Change-Id: I11e4f30f4e7518506a213537daae9c41d52b4ac4
diff --git a/tests/leaf_editing.cpp b/tests/leaf_editing.cpp
index 1ec4be4..b0db594 100644
--- a/tests/leaf_editing.cpp
+++ b/tests/leaf_editing.cpp
@@ -11,6 +11,7 @@
 #include "ast_commands.hpp"
 #include "parser.hpp"
 #include "static_schema.hpp"
+#include "utils.hpp"
 
 std::ostream& operator<<(std::ostream& s, const set_ cmd)
 {