set finalizer on oids produced by oid-cpy
oid-cpy commit-ids so they're not invalidated when the commit is freed
fix remote-clear-refspecs function name
bind git_remote_is_valid_name
use correct location symbol for errors from config-path
notes.h bindings
basic checkout.h bindings, no git_checkout_opts support yet
clean up stack-allocated returns (oid, strarray, revspec)

This change simplifies the low-level bindings that return oids,
strarrays and revspecs such that their out parameters are always under
the control of CHICKEN's GC. This fixes a memory leak around oid return
values and allows some other code for handling these specific types to
be removed.
use symbol-append (from CHICKEN's library) in define-git-record-type
use type-specific oid accessors in record printers
the git_status_t enum doesn't need to be unsigned
define & use shorthand for (oid->pointer (->oid <oid-ish>))
minimize the extent guarded by condition-case during revwalks

This avoids accidentally catching & discarding (git) errors from
commits-fold's kons when watching for the exception signaling the end of
the revwalk (raised by git_revwalk_next), and allows for nonlocal
returns to the revwalk.
simplify (high-level) notes code, make more direct
export blob*-id
revparse tests
blob* -> blob

This renames Git's blob object type from blob* to blob.

It had been renamed in order to avoid collisions with CHICKEN's built-in
blob type, but these conflicts can (and should) be resolved via the
module system. The only conflict that can't be avoided by renaming
imports is the name of the foreign type, but this isn't exported so it's
not a problem (it has stayed as blob*).

The old function names (blob*-id, blob*-size, etc.) are now deprecated.