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.
Nit: If we use what we recently had as some form of policy this should read BITCON_SCRIPT_ERROR_H, right? Also the file should be named just error.h then? Just saying :)...