Rework x3::phrase_parse into x3::parse

For commands, there is predefined places where we want to skip spaces:
on the start of the command, in between command arguments and at the
end of the command. Using phrase_parse just makes everything more
complicated, since I have to actually disable space skipping a lot of
the time.

For ls: the ">>" did unexpected stuff, because for example this input:
  > ls foo
could fail if "foo" wasn't a valid node. However, because the ls path
argument is wrapped in in the optional parser, it would still parse it as
valid.

For get: same as ls.

Change-Id: I90b32e1a270da0c228691935cc7206d73248025a
diff --git a/src/leaf_data.hpp b/src/leaf_data.hpp
index df0f9b3..4f11b44 100644
--- a/src/leaf_data.hpp
+++ b/src/leaf_data.hpp
@@ -210,7 +210,7 @@
     }
 };
 
-auto const leaf_data = x3::no_skip[LeafData()];
+auto const leaf_data = LeafData();
 
 BOOST_SPIRIT_DEFINE(leaf_data_string)
 BOOST_SPIRIT_DEFINE(leaf_data_binary)