Use block number / information to determine fork rules
In code like https://github.com/status-im/nimbus-eth1/blob/4e50b05564f03126ee6bc85192811a7d8aced105/nimbus/core/withdrawals.nim#L25, the global `com` state is used to validate data found in the block itself - this is confusing - the block rules should be decided from the given block header since there may be a mismatch between the two.
