Remove all traces of *git-repository* and instead explicitly pass it
to each function.
Convert most uses of keys over to classes.  Fixed some minor issues left by the removal of *git-repository*.
Added full-name and short-name generics.
Added tests for OID functions.  Reverted 'oid to :oid in the odb
implementation of git-list because without an exposed symbol the API
breaks down.

Tests now depend on flex-streams to read the contents of a commit and
assert that the authors name appears in it.
Changed function argument order for find-oids.  The new order is more
sane since repository is no longer an optional argument.
Fixed some failing tests due to change of git-load signature.
Renamed %git-config-foreach to %git-config-for-each for consistency.
Removed with-repository-index macro.
When making a new commit don't lookup the oid of your parents twice.
Removed object-type from object since it's not used anywhere.
Added enhanced print-object furnctions for git-objects and references.
Updated symbolic-p to use the git-type method instead of the git-reference-type function.
Import and use ensure-list from alexandria.
Minor formatting fix and one more conversion from git-name to full-name
Export predicates.
Renamed remote functions since they are very separate from the rest of
the odb functions.  Also added generic print functions for remotes.
Git-list has been renamed list-objects.  It will now return objects in
all cases where a class is specified.  When :oid is specified then a
list of integers is returned.

Instead of allowing filtering on many different and unrelated options.
Test and test-not have been added as keywords these will work with all
of the predicates currently exported.
Added some missing parts of the remotes rename.
new implementation of git-peel and git-target.  Git-target no longer
accepts :oid or :object flags. Instead if you want to access a
references oid us git-id.  Git-peel now works for references and will
resolve them to commits.

Also added tag-p
Added head-p predicate.