[Linter Performance] Modify Thrift Linter to run on modified thrift files only by default

Review Request #2080 — Created April 15, 2015 and discarded — Latest diff uploaded

benjyw, jsirois, stuhood, zundel

Currently, thrift-linter runs on all thrift files within a specified target, every time its run. Modifying it to only run on thrift files that are modified for better performance.
Added a new option to be able to revert back to old behavior, such as to check the sanity of thrift files within a repo i.e. be able to run on all thrift files in the target specified.

For a single thrift file change locally (~50 thrift files in $target), this has brought down runtimes from an average of ~18s to ~9s:

$ time PANTS_DEV=1 ./pants thrift-linter --lint-all-thrift $target::
real 0m18.119s
user 0m7.267s
sys 0m1.616s


$ time PANTS_DEV=1 ./pants thrift-linter $target::
real 0m9.028s
user 0m8.080s
sys 0m2.196s

TravisCI baking: