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.
Should we be using 'bool' here? That is C99. As we know, some platforms *cough* MSVC *cough* still don't implement that, so it may be better to just return a 0/1 int.