add file sub-project to omnitool

Initially just contains a module for working with temporary files.
Good questions:
 1. re: providing `fileName`. This actually made my code which used this function quite a bit simpler. It would probably make sense to provide a version of the method which omitted `fileName`, though.
 2. re: temporary directory. I guess it's not so much the temporary directory that matters, no. It's more the fact that it's a temporary file with a given name but a guaranteed unique path. The temporary directory is just an implementation detail, as you said. I should amend the comments.