Simpler ways for iterating over WDTK data

* Classes that are mainly collections of other objects implement
Iterable (e.g., SnakGroup).
* Classes that have nested collections of objects provide direct
iterator access to all elements (e.g., to iterate over all statements in
an item document).
* A helper class NestedIterator is used to iterate over nested
collections.