core: Fix page_alloc for more than BITS_PER_LONG pages

The start_mask in find_next_free_page has to be 0 if the start page
number can be divided by BIT_PER_LONG, but it was ~0UL so far. Due to
this bug, we weren't able to allocate more than BITS_PER_LONG (64 on
x86) pages in one run.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Documentation: Cosmetic changes to memory-layout.txt

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>