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.
@Diapolo This is going to be an installed header, so asking a 3rd-party application to ```#include <error.h>``` is a no-go. If anything, it should probably be renamed to bitcoinconsensus_error.h.