RFC: libbitcoinconsensus

This includes #5212, which will need to be merged before this one.

This adds a consensus lib that offers nothing more than transaction verification. It does not rely on any bitcoind globals or state, and boost is not required.

The external api still needs some attention, it's not intended to be final. What's here is just something to get started, I believe @sipa had some plans for mapping external api flags to internal ones.

Build-wise, I believe it's feature complete other than Windows dll's. They work fine, but libtool refuses to statically-link libc/libgcc. That can be fixed post-merge.
This was meant to imply that the tx was accepted by the api, whether or not the verification succeeded. bitcoinconsensus_ERR_OK is a bit hazy, as it could imply that bitcoinconsensus_verify_script() itself succeeded.

Ultimately I think you're right, we just need to make it clear in the docs that it means "verification was attempted".