Refactor initial memory paging
Per-arch duplicated code pulled out into single target-independent code. Also intersection of free memory with any reservations is now handled by splitting free memory instead of shrinking it.
Per-arch duplicated code pulled out into single target-independent code. Also intersection of free memory with any reservations is now handled by splitting free memory instead of shrinking it.