Revoke reimplementation - primary commit part 2/2.
This finishes out the primary revoke changes. Adjust the revoke code
to do a primary pass on the file pointer table and mark fps with FREVOKED,
then do a pass on the process descriptor tables to clean them out.
Add checks to dup() to silently use a dummy fp when the source fp has
been revoked. This removes revoke/dup races.
Add unix domain in-transit tests. If a revoked fp is in-transit then
unix-domain sockets are scanned and revoked file pointers replaced with
dummy file pointers.