Protect Signature creation from components containing '\0'
Protect Signature creation from invalid parameters
Protect Commit creation from message containing '\0'
Protect TagAnnotation creation from name or message containing '\0'
Protect TagAnnotation creation from invalid parameters
Refactor Marshalers
Split Patch and TreeChanges generation

Remove Patch from TreeChanges
Make repo.Diff.Compare() generic
Introduce Blob.GetFilteredContent

Get the content of a blob as it would be checked out to the
working directory via the filters.