Fold `git_push_unpack_ok()` into `git_push_finish()`

Coming from #2628 fold the `unpack_ok()` error into `finish()` as we shouldn't have a successful return code if we sent a bad packfile or the server errored out.

This also updates the documentation to hopefully better explain what the function's error reporting is about.