Fix FileLocator temporary directory creation

File.createTempFile() creates a temporary file, so we instead get
the java.io.tmpdir property and use File mkdirs().

There is a Files.createTempDirectory() method in JDK 7, and
Files.createTempDir() in Guava, could possibly use but for caching
its important to use a consistent path (also the path must be unique,
so the full URI is used, since it could refer to specific commit,
where the path disambiguates the resource, beyond the base filename).

Fixes 'no such file or directory' error building MCPC+ via SpecialSourceMP.