kernel - Fix bug when running swapon a gpt slice

* diskpsize() and related API functions to obtain the number of blocks
  in a disk specification was punting if there was no dragonfly disklabel.
  This path was being specifically used by swapon.

* Do not require a dragonfly disklabel when the whole-slice partition is
  specified (i.e. /dev/daXsY with no a...z suffix).

* Swapon now works on gpt swap slices.

Reported-by: julianp
pwd(1), realpath(1): Split shared source file into separate ones

The realpath(1) and pwd(1) programs share the same source file using the
program name as a condition.  Let's create a dedicated directory for
realpath, duplicate the source file, then tailor both.  Not only is this
more logical, it will make maintenance easier in the (near) future.
realpath(1): Sync with FreeBSD to add -q option

If -q is specified, warnings will not be printed out when realpath(3) fails.
pwd(1): Sync with FreeBSD (very minor, mainly editorial)
find(1): Sync with FreeBSD

Originally I did this to gain the -quit feature.  It turns out that we
already had it, but FreeBSD didn't document it until 4 years after they
implemented it, so it wasn't on our man page either.

With this sync, we get time comparisons down to the nanosecond.  We get
the -sparse option.  The behavior of -delete was changed the delete the
files given as arguments.

The only thing that was omitted with all the birthtime options.
The new find was used successfully in locate.update job, something
that failed in the last sync and code in functions.c had to be
partially reverted.
pgrep(1), pkill(1): Sync with FreeBSD to get the -F options

These functions haven't been touched since DragonFly 1.1 (2004), other
than build tweaks.  It was claimed that it would be "trivial" to add
the -F options (pid file) but I wouldn't classify it as such.  There
is a pretty big diff between the FreeBSD and DragonFly 1.1 version.  I
had make some modifications, but the functions appear to work in the
very short tests that I performed.
pwait(1): Import from FreeBSD, built without modification!