Refactor ModifiedFile to CommitFile

Generalize the name to handle files that may not have been modified, like
`.hound.yml`.
Why would you need to pass file contents? Couldn't the file contents be set in `initialize`?