initial merge of niklas hallqvist (niklas@appli.se) fix for the
vm_object_collapse() problem, often called "swap leak".  not quite
fully functional yet -- still some race conditions left to fix.
make this compile with DEBUG.
clean this up.
fix from niklas.  removes all known problems.  log message from
openbsd reads:

>Make termination of objects wait for possible collapses  before altering
>the object's shadow linkage.  Also note that the object is going to die
>so that a possible collapse can finish early.