Introduced custom percentile handling for ensemble statistics:
- Added "CUSTOM" statistics type and percentile field to RifEclipseSummaryAddress
- Refactored RimEnsembleStatisticsCase to store and compute arbitrary percentiles
- RimEnsembleStatistics now parses custom percentiles from UI input
- RimEnsembleCurveSet and related interfaces updated to handle custom percentile curves and labels
- Hashing and statistics calculations now include custom percentiles for cache validity
Add hash functions
Add serial number to SummaryReaderInterface
Add hash for RimSummaryCase
Use hash based on input parameters to control caching of data in RimEnsembleStatisticsCase::calculate and RimEnsembleCurveSet::appendOptionItemsForSummaryAddresses