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.
Thinking about it IMO this OK should be generic: `bitcoinconsensus_ERR_OK = 0`. It doesn't really matter whether this is a transaction OK or another error OK :-)