implemented commit_as_email

flags and options for diff is still pending