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