Allow for backend optimization of git_odb_exists queries

In particular, for some backends it is more expensive to repeatedly do existence queries that will fail than it is to write objects which will only rarely be written twice.  This patch adds a "confirm_not_exists" query to git_odb_exists, so that libgit2 can tell the backend that it is only checking for existence in order to avoid duplicating content by an unnecessary write.