linuxkpi: Make "free page" code paths closer to Linux
There is basically one code path to free pages on Linux. In particular,
free_pages() is used for other pages than those returned by
alloc_pages().
Also on Linux, release_pages() takes either struct page or `struct
folio`. struct folio support will be added in a followup commit.
Regardless, because pages come from several sources,
linux_free_pages() need to accept managed and unmanaged pages.
Reviewed by: bz, markj
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D49813