Implement QFileDevice::MemoryMapFlags::CopyOnWrite flag for QFileDevice::map()

Passing this flag will allow writes to the mapped memory without modifying
the file that was mapped. These writes will be lost when the memory is unmapped.