Some revparse love

 - Reduce the number of backend calls when invoking `git_revparse_ext()` with a full sha which is known by no backend.
 - Simplify the error handling code in `revparse_lookup_object()`