fix and verify `compressed` argument in _eckey_pubkey_serialize calls
In several calls of the internal function secp256k1_eckey_pubkey_serialize, the public API flag SECP256K1_EC_COMPRESSED is passed, which is meant to be only used for the public function secp256k1_ec_pubkey_serialize. It works as intended in all of those cases (it wouldn't for SECP256K1_EC_UNCOMPRESSED though), but it's still kind of a type mismatch that can't be detected by the compiler. To avoid cases like this in the future, a VERIFY_CHECK is added that the compressed parameter needs to be either 0 or 1.
LGTM
Closing this, as a corresponding PR was opened and merged in upstream (see https://github.com/bitcoin-core/secp256k1/pull/1642), i.e. it will be available here once a rebase on v0.7.0 (or later) is done.