Improve Repository#log performance

When `Repository#log` is called with a path option, compare commit trees
to determine if a commit changed the path instead of generating a diff
to make that determination.  Note that if the `:follow` option is also
passed, then `#log` falls back to using diffs since we rely on
`Rugged::Diff` to know if a commit renamed a file.
Faster log rename detection

Speed up `Repository#log` when the `:follow` option is given.
Merge pull request #49 from mr-vinn/faster-log

Improve Repository#log performance