Some doc and examples/diff.c changes

I was playing with `git diff-index` at the command line and wanted to be able to emulate that behavior a little more closely with the diff example.

Also, I wanted to play with running `git_diff_tree_to_workdir` directly even though core Git doesn't exactly have the equivalent, so I added a command line option for that and tweaked some other things in the example code.

This changes a minor output thing in that the "raw" print helper function will no longer add ellipses `...` if the OID is not actually abbreviated.