[LMP] Pass a cancellation flag to RecIterateInfo for #1500.
[LMP] Expose cancellation flag to API for #1500.
[LMP] Pass the stop guard to the recursive calls for #1500.
[LMP] Replace fwd decl with include.
[LMP Graffiti] Added RecIterator wrapper for #1500.

For cancellable iterating.
[LMP Graffiti] Migrate to RecIterator, added progress dialog.

This finally closes #1500.