Respond with 500 when external commands failed
There is a bug in that, when the git-receive-pack --stateless-rpc failed, the client still get a successful message saying that the push is successful where actually the push is a failure, leading to data being lost.
I consider this as a serious bug and thus submitted this patch.