The pointer value returned by mm_malloc may need to be aligned on an address that is a mulitple of a word (multiple of 4) or double word (multiple of 8).
We will assume block addresses returned must be multiples of 8.
Should the header of a block be aligned on a double word boundary?