factor out PT page allocation/freeing
As follow-on work to e4b8deb2, move page table page allocation and freeing into their own functions. Use these functions to provide separate kernel vs. user page table page accounting, and to wrap common tasks such as management of zero-filled page state. Requested by: markj, kib Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D29151