When the illegal callback does not abort, secp256k1_ec_pubkey_combine returns 1 even if one of its input public keys is invalid, because it ignores the result of secp256k1_pubkey_load. This PR makes it return 0 in that case. #1919 adds the same check to secp256k1_ecdh.
This is only the minimal check. It does not settle the discussion in #1872 on whether secp256k1_pubkey_load should return void, where _pubkey_combine is named as one of the callers that ignore its result. The new test passes a zeroed public key at each position of the input array and expects the illegal callback to fire and the call to return 0. It fails on master and passes with the change.