Show function names and TODO: in Pylint reports

@peter-fogg @wedaly 

This has been bugging me for awhile. In pylint, the function that the violation comes from is omitted in diff-quality reports. Further, when you have a `TODO:` in your code, the `TODO:` gets stripped out (because of our regex parsing) which leaves a cryptic violation message in the diff-quality report of `W0511: (whatever you said you were going to do)`. The omission of the `TODO:` in this place leads to unnecessary confusion.

Anyway, this PR changes the regex a bit, and fixes tests (as well as tests a `TODO:` parsing).

Also updated the version of this so we can upgrade.