update new blockchain to build with new changes

Still need to add in the new checkpointing functionality, as well as
touch up a few things, but is okay for now.
Adding libglim as an external library

libglim is an Apache-licensed C++ wrapper for lmdb, and rather than
rolling our own it seems prudent to use it.

Note: lmdb is not included in it, and unless something happens as did
with libunbound, should be installed via each OS' package manager or
equivalent.
Initial commit of BlockchainDB tests, other misc

miscellaneous changes to BlockchainDB/blockchain as well, namely
replacing instances of std::list with std::vector
Initial commit of lmdb BlockchainDB impl
BlockchainDB unit tests, lmdb linker flag

Some BlockchainDB unit testing fleshed out (and working), rudimentary
linker flag for lmdb in CMakeLists, but should probably be done
"correctly" at some point (find it on whatever system you're building on
and all that jazz).
Parts of LMDB impl of BlockchainDB done and working

The rest should just be tedious copypasta and modification.
Adding block data to LMDB BlockchainDB coded

Still needs testing (and need to write a few more unit tests), but
everything should be there.  Lots of unfortunate duplication,
but...well, I can't see a way around it using LMDB.

A couple of other minor changes in this commit, only slightly relevant.