Abort evaluation when creating an auxilary file that already exists

See issue #376: A contestant's solution could have used symlink() to create a
link at the path that is being opened. This is a security issue.
Only allow batch programs to write to their supposed output

This is a test implementation. Full implementation should add this to
all task types, and possibly to compilation as well.