This is necessary because on some architectures BN_is_zero is a CPP macro, so trying to link against it in an `extern "C"` block causes a linker error. This also introduces a build command to Cargo to compile the bn_is_zero wrapper.