Fix three bugs in the last commit and document special cases. Tighten
up the count calculation. The code now passes the /usr/src/test/lockf
system test.
* F_UNLCK wasn't being handled properly in certain cases, resulting in a
panic.
* The 'next' pointer was not bring properly adjusted when removing an
element (brange) other then the current element in the scan, resulting
in a posix lock error.
* The first and last matches were not always being properly merged with
the created range, resulting in a positive count panic.
Reported-by: Stefan Krueger <skrueger@meinberlikomm.de>