AlignedChunk represents a memory chunk that has been aligned to
a bit width and the chunk’s new size. The new size is the sum of
the old chunk’s size plus the length from the aligned chunk pointer
to the old pointer.
align_chunk aligns a pointer to an arbitrary chunk of memory according
to the specified bits. It returns a new pointer and the size of the
the new chunk (that is: the original chunk’s size plus the length
between the aligned pointer and the original pointer).
mop (memory operation) handles the common toil involved in operating
on a memory chunk, such as setting the chunk’s protection settings
before and after operating on it, aligning the chunk’s boundaries to
a certain bit width, and reading from and writing to the chunk.