Refactoring Audit so it uses the file already loaded in memory instead o...

...f reloading the file many times to get at the audit log records in active record
I know that this is just a direct copy of code, but this is very awkward. How about this instead?
```
return latest_audit unless force || ::GenericFile.needs_audit?(version, latest_audit)
```