introduce a lazy iterating route collection

Note: This solves #97 potentially, though you cannot implement Iterator and IteratorAggregate at the class