docs(core): require `CheckPoint` data to be determined by its block hash
The `ToBlockHash` docs allowed data types with extra fields that the
block hash does not commit to. `CheckPoint` and `LocalChain` treat data
with equal hashes as interchangeable, so such fields could be silently
kept or dropped. State that the data must be fully determined by its
block hash and that anything else belongs outside the checkpoint.
Make the `BlockWithTime` test helper commit to its time field so it
follows the rule.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>