Sane refresh logic

All the ODB backends have a specific refresh interface. When reading an
object, first we attempt every single backend: if the read fails, then
we refresh all the backends and retry the read one more time to see if
the object has appeared.
dat errorcode
odb: Refresh on `exists` query too
Merge pull request #1182 from libgit2/odb-file-refresh

Sane refresh logic for #1180