Put empty path checking to a function

Instead of checking for .empty() everywhere I'm pushing path fragments,
do it once in a new function called pushFragment, which resolves nodeup_
fragments.

Change-Id: I2528f814991eed5218d8272ea386bd732a7448a5
diff --git a/src/parser.cpp b/src/parser.cpp
index 4911fac..bf00a7e 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -86,13 +86,7 @@
         m_curDir = name;
     } else {
         for (const auto& it : name.m_nodes) {
-            if (std::holds_alternative<nodeup_>(it.m_suffix)) {
-                if (!m_curDir.m_nodes.empty()) { // Allow going up, when already at root
-                    m_curDir.m_nodes.pop_back();
-                }
-            } else {
-                m_curDir.m_nodes.push_back(it);
-            }
+            m_curDir.pushFragment(it);
         }
     }
 }