explicit std::move
nodata value can be floating point
set nodata for single band raster (got missed in spaghetti code)
expose warp_image templated method
implement image_data_warp_dispatcher + fix hardcoded nodata
format
warp - initialise target with nodata if available