blockchain: Add negative tests for forced reorg.
blockchain: Add negative tests for forced reorg.

This adds tests which ensure invalid blocks are rejected when attempting
to force a reorganization to them.

It also creates the invalid blocks in such a way that some of them have
block index entries while others do not to ensure both scenarios are
handled correctly.

decred/dcrd,decred/dcrd,jrick/dcrd,jrick/dcrd