System V style init, submitted by Kyungwan Han.
Cleanup grep, make it pass the current test suite.
Fluff out grep test suite some more, including lots of things we don't pass yet.
I have implemented FDISK command.
This supports '-l' option for listing and other options [-bCHS] for giving
values like block size, Cylinders, Heads,...
This is the preliminary version of lspci text output support (the location
of pci.ids is hard-coded to /usr/share/misc/pci.ids, as found on Debian/Ubuntu).
+88 lines in two files, including reformatting, comments, whitespace,
and build configuration as well as new code.

The changes:
-Add library code to look up descriptions.
-Add a counter for -n (for the sake of -nn)
-Add the file stream "db" to GLOBALS and open it conditionally
-Add name fields to bufs
-Look up text if enabled and -n is passed never or twice
-Print text if lookup succeeded
Forgot to check in xfdopen(). My bad.

Failure of fdopen() is most likely failure of malloc() for the FILE structure.
Achille Fouilleul pointed out that fdlength wasn't returning the right length in the binary search case.

(This code was originally written for mke2fs, and applies to block devices. The regular file case should just return the length from stat. The ioctl is left commented out in case I want to add back code to check the size of CDROMs without spinning them up again; not sure the sector size is always right these days.)
New toy: fallocate
Cleanup klogd

Remove #if and inline most functions
Add daemonize function to lib for klogd and syslogd
More grep tests.
Ashwini Sharma said that Kyungwan Han should be in the contact info for the commands he sent recently.
fdisk: remove goto; inline valid(); merge xprintf() calls; shrink sys_types

sys_types had used char[_PATH_MAX] for 22-char max strings.
When this is done 48 times, it nearly doubles the size of toybox.

goto should only be used when it is the easiest way to bail out.
That does not mean "when we need to fall back to returning a one-liner
that asks user input", nor is it suitable for looping:
C has while () and do { } while (); for a reason.

valid was called once. As such, it belonged inline.

print_*menu could probably be inlined, but I did not do this yet
in case a table-driven approach works better.
This uses C string concatenation to break an overly long message up,
while not wasting function calls.
More grep cleanup, and make OPTSTR_command macros for use with OLDTOY()
More grep work: name "(standard input)" correctly, make multiple -e work, regex with embedded newline, multiple regex without -E.
grep: -om counts matching lines, not matching parts of lines.
More grep tests, remove obsolete comment.
Add a new optimization flag at the suggestion of the musl guys telling gcc not to produce a large unused dwarf table for C++ style stack unwinding.
Add su.