Update data gatherer to fix data loss in certain conditions
In the old version it was possible under certain circumstances to loose a block of data when the innermost loop exited.
@llepotti Please test drive.
@bgallop @ztao If you could have a chance to crosscheck this with Strips. I'm going back on some of the changes that were introduced by Alex, but the way the loops where structured caused quite some issues.