Add File.java to forbidden APIs

This commit cuts over all of core (not quite all tests) to java.nio.Path
It also adds the file class to the core forbidden APIs to prevent its usage
relativize can be tricky if paths have different roots. is siteFile really guaranteed to be absolute too?
In lucene i coded this "minimal path" with the following idiom:

    root = root.toAbsolutePath().normalize();
    path = root.relativize(path.toAbsolutePath().normalize());