include model?

Do you think can be useful to have a minimum definition what a model (maybe a graph) looks like in memory?

This pull request includes a very initial draft, open to discussion, of course.
Given that we are depending on Java-8, returning Stream rather than Iterator would be the best approach in terms of the usefulness of the API, as Lambdas can be natively used with Stream and Streams can be easily lazily evaluated.