Fingerprint the given File.
Fingerprint the given File. The resulting FileFPrint will be for the canonical file behind the given path, and thus FileFPrint.file may not equal the input file.
NB: This used to SHA1 the entire analysis file to generate fingerprint, but in the context of many, many small projects that is too expensive an operation. Instead, we use only the analysis file name and lastModified time here.
TODO: It should be relatively unlikely to encounter a collision here, but it would be good to prevent it entirely by including a UUID in the header of the analysis file and using that as its fingerprint.