Buffer cache pages are wired but not counted as such.  Therefore we have to set the wire count on the pages to 0 before we call uvm_pagefree() on them, just like we do in buf_free_pages().  Otherwise the wired pages counter goes negative.  While there, also sprinkle some KASSERTs in there that buf_free_pages() has as well.
Buffer cache pages are wired but not counted as such.  Therefore we have to
set the wire count on the pages to 0 before we call uvm_pagefree() on them,
just like we do in buf_free_pages().  Otherwise the wired pages counter goes
negative.  While there, also sprinkle some KASSERTs in there that
buf_free_pages() has as well.

ok beck@

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars