Fix bug with __DATA segment remapping on x86_64

On x86_64 for some images __DATA segment is mapped far from other
segments.
To handle it we need to allocate a memory zone that has enough capacity
for both __DATA's island and the rest of the image. We also need to
skip the first `data_segment_offset ` bytes to create a "safety zone"
for remapping __DATA segment into.