Many fixes and additions to spec checker

- Fixed and simplified traversal context keeping for `feature_node:appears_as_child_of_type()` and `feature_node:has_child_of_type()` calls
- Added `feature_node:appears_as_root_node()`, `feature_node:children_of_type()` and `feature_node:children_matching_type()`
- Added helpers like `string:split()`, GFF3 decoding/encoding, iterator shortcuts etc.
- Extended example spec in `testdata` with more elaborate example (actually in use here!)