Tests for BlockTransactionController mistakenly simulated transactions
on non-consensus blocks by making the `transaction.block` `consensus`
`false`, but this is unrealistic - the importing only sets the consensus
block to `transaction.block` and non-consensus blocks show up as
`transaction.transaction_forks` `transaction_fork.uncle`. To prevent
this from happening again, `Explorer.Factory.with_block` now checks the
`block` has `consensus: true`. With this setup fixed, the tests needed
to be updated to show that *no* _transactions_ would be shown for
non-consensus blocks (because there are only transactions forks) and
whether the non-consensus blocks showed as "above tip" only had to do
with the number being above the consensus number and not to do with it
being non-consensus.
Floki selectors are used to improve error messages when messages are
unexpected.