kernel - Hack fix for tty last-close bug

* If a tty is owned by one devfs mount and programs are run which open/close
  the tty in a different devfs mount, the last-close test will get confused
  and believe that the last close in the second mount is the last close on
  the device, when the first mount still has it open.

* Temporarily hack a fix which is not SMP safe to deal with the situation.
  A proper fix requires us to put a struct lock and an opencount field in
  the struct cdev itself and use that instead of v_opencount.

* Fixes issue with 'screen' exiting when sub-processes are run inside a
  chroot (with their own /dev mount).

Reported-by: marino