Make git/if-error and git/throw-if-error work more flexible

Make it work with the result of invoke-with-summary, whereas until now it only
worked with the result of invoke-streams.
Rename func arg so it does not conflict

There is already a function called "commit" so name this argument "com" rather
than "commit".
Implement hesokuri.git/change

This makes it very easy to add new files to a tree and commit them to make a new
tree, changing a ref to point to the new commit. This will be used when the user
manipulates the configuration database.