Extend function AncientDataDir which can return the root directory of ancient store for opening some sub ancient
stores(e.g. reverse diff freezer).
Rename the Interface name for consistency.
AncientBatchReader -> AncientReader
AncientReader -> AncientReaderOp
Make Freeze logic accessible and is used by other purpose not only storing ancient data, by create a Wrapper ChainFreezer and move out freeze function logic inside, keep minimal logic in Freeze struct
We will have other PRs related to ancient stuff rework based on this for implementing PB.
Mostly don't touch to the previous logic in freeze function although, we figured out some refactoring logic in this too.
Reference by https://github.com/ethereum/go-ethereum/pull/24684 (Released in https://github.com/ethereum/go-ethereum/releases/tag/v1.10.18 )
Mostly don't touch to the previous logic in freeze function although, we figured out some refactoring logic in this too.