Add method to find diff index of changes

This helps fix issues where diff positions do not match the line numbers
in the new file content. This happens quite often when multiple lines
are deleted or added.

Refs #3
Integrate offset location into Problems object

This allows the various tools to continue not knowing anything about the
diff objects or how github implements them. Instead only the problems
+ diff classes do.
Integrate changes and problems.
Incomplete fix for fixing review comments with offsets.
Fix remaining failing tests.
Cleanup and tidy up.