break range_facade's iterators out, define counted_iterator and counted_sentinel