Remove Schema::is* methods

These methods are not really used anywhere, and if they are, they can be
replaced with a call to Schema::nodeType. No reason to keep them. I had
to implement StaticSchema::nodeType(std::string) because of
presenceContainerPath_class, but that's ok.

Change-Id: Ia27f6aa1f1cd098f087767365cb6a706c255c206
diff --git a/src/static_schema.cpp b/src/static_schema.cpp
index 989ef21..a7130b3 100644
--- a/src/static_schema.cpp
+++ b/src/static_schema.cpp
@@ -244,9 +244,12 @@
     throw std::runtime_error{"Internal error: StaticSchema::status(std::string) not implemented. The tests should not have called this overload."};
 }
 
-yang::NodeTypes StaticSchema::nodeType([[maybe_unused]] const std::string& path) const
+yang::NodeTypes StaticSchema::nodeType(const std::string& path) const
 {
-    throw std::runtime_error{"Internal error: StaticSchema::nodeType(std::string) not implemented. The tests should not have called this overload."};
+    auto locationString = stripLastNodeFromPath(path);
+
+    auto node = fullNodeName(locationString, lastNodeOfSchemaPath(path));
+    return std::visit(impl_nodeType{}, children(locationString).at(node).m_nodeType);
 }
 
 std::string StaticSchema::leafrefPath([[maybe_unused]] const std::string& leafrefPath) const