rpc - Implement non-blocking connections

- This follows up commit ce0e08e21d42c06c0014fae6b9d27144aa5109b0

Taken from: FreeBSD SVN 109363
mountd - Fix an error message

Taken from: FreeBSD SVN 117684
mountd - Rename do_log -> dolog

Taken from: FreeBSD SVN 121767
mountd - Add new option -p <port>

- Specially useful when behind firewalls

Taken from: FreeBSD SVN 126572
mountd - Pass in an array of gid_t

Taken from: FreeBSD SVN 136051
mountd - Zero-out structure before calling mount()

Taken from: FreeBSD SVN 138680
mountd - Remove NI_WITHSCOPEID usage

Taken from: FreeBSD SVN 146187
mountd - Don't delete exports from network filesystems

Taken from: FreeBSD SVN 159360
mountd - Correctly loop over the mounted filesystems

Taken from: FreeBSD SVN 160175
mountd - Ignore SIGPIPE instead of terminating the process.

Taken from: FreeBSD SVN 164394
Testing teh bot 1 2 3
rtld: Fix LD_LIBMAP under libmap override

Taken from:	FreeBSD svn 266411 (18 May 2014)
rtld: Allows return pathname in dl_iterate_phdr dlpi_name

This is the behavior of Linux and also of FreeBSD since October 2014.
Until this point, dlpi_name returned the short name of the object unless
it wasn't defined, so the fallback was to return the pathname.

Returning the pathname in all cases is considered more useful and matches
the definition of Linux.

Taken from:	FreeBSD svn 272842 (9 Oct 2014)
rtld: Add support for LD_LIBRARY_PATH_FDS env variable

This variable allows loading of shared libraries via directory descriptors
rather than via library paths. if LD_LIBRARY_PATH_FDS=3:4:12, the
directories represented by file descriptors 3, 4, and 12 will be searched
for shared libraries before the normal path-based mechanisms are used.
This allows the execution of unpriviledge binaries from within a Capsicum
sandbox even if they require shared libraries.  Note that Capsicum is not
available on DragonFly yet.

While here, adjust whitespace and rearrange a bit to minimize differences
with FreeBSD rtld.

Taken from:	FreeBSD svn 267678 (20 June 2014)
rtld: Handle IFUNC symbols at non-PLT relocations

An example of this is initializing a global variable with a pointer to
ifunc.  This adds a symble type check and call resolver for STT_GNU_IFNC
symbol types whien processing non-PLT relocations, but only after
non-IFUNC relocations are done.  The two-phase processing is required
since resolvers may reference other symbols which most be ready to use
when resolver calls are done.

This restructures reloc_non_plt() to call find_symdef() and handle IFUNC
in a single place.

Taken from:	FreeBSD svn 270798 (29 Aug 2014)
		FreeBSD svn 270802 (29 Aug 2014)
rtld: Add a postinit debugger hook

FreeBSD's dtrace(1) uses this hook to halt the "victim" process before its
entry point is called, at which point probes and DOF data are registered
with the kernel.  The r_debg_state hook cannot be used for this purpose,
as it is called before the program's init routines are invoked and in
particular before ODF is registered.  It may or may not be useful for
DragonFly by itself, but if dtrace every comes in, rtld will be ready.

Taken from:	FreeBSD svn 265456 (6 May 2014)
		FreeBSD svn 265578 (7 May 2014)
top(1): ability to display individual threads

And put square brackets around system processes.
kernel/if_media: Add descriptions for MCS.

While here, correct the baudrate of IFM_IEEE80211_DS5 from 5Mbps
to 5.5Mbps.
<sys/callout.h>: Remove obsolete struct callout_handle.
callout.9: Adjust for recent callout code changes.