drm: Improve dmi_found()

* The OpenBSD code didn't distinguish between board and system names as
  well as board and system vendors

* Properly release memory allocated by kgetenv() while I'm at it
kernel: Add pmap_page_set_memattr()

Obtained-from: FreeBSD
Avoid potentially freeing NULL pointers in dmi_found()
libc/db: Add missing MLINK for mpool_delete().