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
I guess the first thing to figure out, is if we can avoid relativize() call at all. Basically its a complicated method, the two paths have to both share the same root (so e.g. one cannot be absolute and the other relative) or you get IllegalArgumentException, if they are equal it returns empty, symbolic link behavior, etc.

I just want to know why we this isAbsolute -> relativize check and if we can avoid it for those reasons.

The only time i used it in the lucene tests was for presentation purposes in the verbose-wrapper, to create the smallest possible filename to keep infostream small.