Make it very difficult to open files in solutions

This works by running the solution in a temporary directory. It's still
possible to escape from this and read files, but that will take a lot of
characters.

Note that this breaks a lot of existing solutions.