Panic after each search for biggest ranges if no range was found at all.
This includes panicking if a specific domain was requested that has not
enough memory. This is a change in behavior as, before, we would just
silently fallback to the first chunk in phys_avail[] (which, e.g., on
i386/amd64 machines, is usually very small). In other words, the passed
domain is now considered as mandatory. This is not a problem as current
callers (pmap_page_array_startup() functions) only specify an explicit
domain (i.e., not -1) when they already know that some pages exist in
that domain.
If there is not enough space for the allocation, print relevant information
when panicking.
Check (under INVARIANTS) that 'alloc_size' is not 0, as this case is not
currently supported and cannot be triggered by current callers.
Add a few comments.