file lists are cached per project. cache entries are invalidated when HEAD changes.
Add a cache for storing previous project file lists when the project …
…is stored as a git repo. The cache is invalidated whenever HEAD changes.
Refactor by adding a utility function to return the contents of a buf…
…fer as a string
Remove duplicate function definition
Remove redundant calls to message
Added myself to authors
since my refactoring, this code cannot be merged easily.