Introduce CommitOptions

Repository#Commit (and its extension methods) now take CommitOptions.
All prior methods are deprecated.