Add [NSString stringBySanitizingFilename].
Have [NSArray map_async:] retain the NSArray for the duration of
the chain of calls.

This way, a caller can do [arr map_async:...] without having to
retain arr themselves, and yet the full process will proceed
to completion.