Raw.xs: Added git_hv_to_diff_opts

* Diff options extraction code is no longer duplicated
* Added additional diff flags
Commit.xs: Allow diff_options for diff() and as_email()
Minor test fixes
Changes: update