Implement remapping between volume data layers
- Implemented lazy determination of remap source layer.
- Fix wrong error handling if zlib uncompress fails in DeserializeVolumeData.
- Converted an error case in CopyDataBlockIntoLinearBuffer into an assert since it cannot happen if the code around it is correct.
- Implemented volume data hash tracking.
- Fix problem with dereferencing nullptr in VolumeDataLayer::GetProduceStatus and don't call this method in FindLayerToRemapFrom as it leads to problems with re-entrancy.
- Added getter for VolumeDataHash to VolumeDataPageImpl.
- Implemented VolumeDataRequestProcessor::RequestRemap().
- Throw runtime error instead of aborting the process in case of illegal voxel format in calls to GetVoxelFormatByteSize/GetElementSize.
- Added RequestVolumeSubsetWithDifferentFormatsAndDimensionGroups to data access tests.
- Only serialize layer status for layers that have a metadatamanager, this avoids adding information for remapped layers that are not actually stored on the remote.
- Temporarily disable remapping from lower LOD until automatic LOD creation has been implemented.