record middleware error on the dependency, rather than throwing

Step 1 for https://github.com/normalize/nlz/issues/15

Other steps would be to
* display all the recorded errors
* abort the build, as to not overwrite with invalid files

I would suggest to do something like makes --keep-going, as to record as many errors as possible instead of aborting at the first one.
is the issue here that i'm throwing here? it should be caught by upstream since we're using generators the whole way up