Refactor linter tool

https://thisisglow.tpondemand.com/entity/1931

Limits linting to files that changed (previously it was doing it on all files in the repo), changes imhotep to handle single config file per linter tool, simplifies Tool implementation.
I assume that imhotep always invokes the tool with a list of filenames. but are there cases where in order to lint we do need to check every file in the project (eg pylint)

I wonder if the tool should have a property that indicates whether it should lint the whole project (like pylint) or just the files (like jshint)