Remove gaps between images

We now use the same logic to calculate the size as we use to create
the image header. This should mean that it always lines up correctly.
Previously the alignment rounding could have caused page off by one
errors in some cases.

Re-enable no gap check in heap.cc.

Bug: 26317072
Change-Id: I558a4e60197ca4613fc4ec4c3a618c64a83d006a
diff --git a/compiler/image_writer.h b/compiler/image_writer.h
index e5f7dc7..d423799 100644
--- a/compiler/image_writer.h
+++ b/compiler/image_writer.h
@@ -214,6 +214,10 @@
     ImageInfo();
     ImageInfo(ImageInfo&&) = default;
 
+    // Create the image sections into the out sections variable, returns the size of the image
+    // excluding the bitmap.
+    size_t CreateImageSections(size_t target_ptr_size, ImageSection* out_sections) const;
+
     std::unique_ptr<MemMap> image_;  // Memory mapped for generating the image.
 
     // Target begin of this image. Notes: It is not valid to write here, this is the address