Redmine/6553: Fix implicit looping over multiple lists

Pull request for initial review of the changes to the code. Planning to add more test coverage to the acceptance test before merging.
I believe Rlist is a pure forward linked list, IOW no header of any kind, so any entry is in fact itself a valid Rlist, a subset of the first. Hence the word "Tip" is appropriate.