Add Commit -> as_email() and Commit -> diff()

Sometimes it's useful to get the e-mail associated with a commit (to use with ```git am```). This PR also adds a convenience wrapper for Commits to retrieve the diff associated with it.

Currently it doesn't allow for setting the diff options (to be added).