Preemptively catch a few potential bugs

This causes CCoinsViewCache(CCoinsViewCache) to fail at compile-time rather than copy an existing cache (most likely the caller intends to sub-cache it)

It also makes ConnectBlock's fJustCheck work correctly for the genesis block, just in case it gets in there somehow.