schema CHANGE move when statement from common schema node structure

The when statement is not present in many of the lysc_node* and
lysp_node* structures. It is actually similar to the must statement
which is placed in the specific schema node structures, so it make sense
to move the when statement to the same place.

Some helpers functions to access the musts and whens were added.
diff --git a/tests/utests/utests.h b/tests/utests/utests.h
index 762e6d8..dc0a538 100644
--- a/tests/utests/utests.h
+++ b/tests/utests/utests.h
@@ -443,7 +443,7 @@
     assert_int_equal((NODE)->nodetype, NODETYPE); \
     CHECK_POINTER((NODE)->parent, PARENT); \
     CHECK_STRING((NODE)->ref, REF); \
-    CHECK_POINTER((NODE)->when, WHEN);
+    CHECK_POINTER(lysp_node_when((struct lysp_node *)NODE), WHEN);
 
 /**
  * @brief assert that lysc_notif structure members are correct
@@ -473,7 +473,7 @@
     CHECK_POINTER((NODE)->parent, PARENT); \
     CHECK_POINTER((NODE)->priv, PRIV); \
     CHECK_STRING((NODE)->ref, REF); \
-    CHECK_ARRAY((NODE)->when, WHEN);
+    CHECK_ARRAY(lysc_node_when((struct lysc_node *)NODE), WHEN);
 
 /**
  * @brief assert that lysc_action_inout structure members are correct
@@ -524,7 +524,7 @@
     CHECK_POINTER((NODE)->parent, PARENT); \
     CHECK_POINTER((NODE)->priv, PRIV); \
     CHECK_STRING((NODE)->ref, REF); \
-    CHECK_ARRAY((NODE)->when, WHEN);
+    CHECK_ARRAY(lysc_node_when((struct lysc_node *)NODE), WHEN);
 
 /**
  * @brief assert that lysc_node structure members are correct
@@ -557,7 +557,7 @@
     assert_non_null((NODE)->prev); \
     CHECK_POINTER((NODE)->priv, PRIV); \
     CHECK_STRING((NODE)->ref, REF); \
-    CHECK_ARRAY((NODE)->when, WHEN);
+    CHECK_ARRAY(lysc_node_when(NODE), WHEN);
 
 /**
  * @brief assert that lyd_meta structure members are correct