Implement iterate/3 predicate

This predicate is a convenience for generating lazy lists.  Many such
lists will be infinite.
Faster map_include/3 using logic variables

The old code used an accumulator variable to build a list and then
reversed it when finished.  The new code uses logic variables the way
they're supposed to be used, so the list is constructed in a single
pass.
Implement lines/2

It's often convenient to work with a file as if it were just a list of
lines.  However, we don't want to load the entire file into memory.

Unfortunately, this uses the same stream repositioning trick used by
library(pure_input) so it only works on certain kinds of streams.
Release v0.2.0
Ignore dev.pl file created by gift
Better meta_predicate definition for iterate/3