Drop this test and handle it through the FileNotFoundException below. We are unlikely to be here unless the caller received our path from a readdir() result, which means we are very likely to have exists() return true, making exists() pointless.

If the user application feeds us a file path explicitly (e.g. getRef("refs/heads/master")) we should try the open call first, its again somewhat likely the reference actually exists and we need to read it from disk. If it doesn't exist, the exception is a bit more expensive than the stat(), but I think its a smaller percentage of requests that are doing getRef() for non-existing names.