Split CValidationState into TxValidationState and BlockValidationState to store validation results for transactions and blocks respectively.