Issue title: Block validator should test fetch_block result.
 Issue body: The presumption is that preceding blocks will always exist. This is based on tracking of current height in the `validate_block38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5height_` member, which is obtained from a hash table search.

https://github.com/libbitcoin/libbitcoin-blockchain/blob/version2/src/validate_block.cpp#L418
https://github.com/libbitcoin/libbitcoin-blockchain/blob/version2/src/validate_block.cpp#L433

A database corruption scenario, in which the index lags the hash table, can produce an error which could be detected here. 

 Comments: 
 Comment 0: See: https://github.com/libbitcoin/libbitcoin-server/issues/167

 Comment 1: This will become moot with 4.0 work to replace the blockchain and store.
 Comment 2: This is moot due to the blockchain validation rewrite.

{'source': 'GithubIssues', 'repo_name_with_owner': 'libbitcoin/libbitcoin-blockchain', 'issue_id': 142491254, 'repo_stars': 96.0}