Refactor of WrapperTask to avoid repated complete() calls

Instead uses the in-memory mock file system in MockFile to keep state
and rely on luigi's task execution order to assume task completeness
of dependencies
A bit confused by this response. I was not asking about the mechanics how inter-process "should work", I'm asking whether there really is a need.

If there is, then :+1:.