Implement :new_prefix and :old_prefix diff options.
rugged_diff_line_new does not need an owner.

We don’t wrap an actual libgit2 object, so we don’t need to keep a
reference to the owning object.
Add `Rugged::Diff#each_line`.

It yields each line of the diff to the given block.
Add some missing Diff::Line line origin check helpers.
Add Rugged::Diff#sorted_icase?
Reorder diff option code and add some missing options.

All diff methods now also support the `:oid_abbrev`, `:minimal` and
`:force_binary` options.
Store the status char inside diff deltas.